Hi R-List, I have a question regarding R-language formats, I think. I am producing a series of graphs (using plot, barplot, barchart, and bwplot, using either text or mtext to place values on the graphs) and tables for a Francophone country. In fact, I have already done so. However, while they are pleased with the results they've requested I convert all of my decimal points into the French format which uses commas rather than points. I have no idea how to do this for the graphs, despite searching the help, other than to convert all of my statistics into strings and manually reset the decimal separators, which would take a long time. Is there some quick and easy way? It's only the graphs I need assistance with. For tables I simply output to excel and it's easy to change them there. Here's an example (I'm sure it's crude but I'm still new at R. To make the graph look right you have to expand the java window...which I'm sure you don't need to do if you know how to do this in a more elegant manner): sites <- c("Kayes", "Kita", "Koulikoro", "Fana", "Sikasso", "Koutiala", "SgFam", "SgHop", "Bla", "Mopti", "Douentz", "Tombc", "Dire","Gao","Ansongo","Kidal","Tessalit","BkoCommI","BkoCommIII","BkoCommV") size <- list(2.91,2.36,5.09,3.21,2.27,4.09,2.31,2.76,1.2,2.03,3.06,0.53,1.43,1.83,1,0.93,0,4.01,4.13,3.47) site_size <- data.frame(cbind(sites, size)) newdata <- (sapply(subset(site_size, select=c("size")), as.numeric)) rownames(newdata) <- site_size$sites library(grid) plot(newdata, ylab =" ", xlab= " " , axes = FALSE)#, type="h", lwd=16) points(newdata, cex = 10, col = topo.colors(20), bg=topo.colors(20), pch=22) lines(newdata, type="h", lwd=40, col=topo.colors(20)) axis(1, at=seq(1, 20, by=1), labels = FALSE) text(seq(1, 20, by=1), par("usr")[3] - 0.2, labels = site2_labels, srt = 45, pos = 1, xpd = TRUE) reg.txt <- as.character(c(" Kayes Koulikoro Sikasso Segou Mopti Tombouctou Gao Kidal Bamako")) mtext(paste(reg.txt), side=3, font=4, cex=1, adj=0)#, outer=T) text(0, 5.35, "Region:", cex = 1, font=4, xpd=T) text(0, -.5, "Sites:", cex=1.2, font=1, xpd=T) abline(v=c(2.5, 4.5, 6.5, 9.5, 11.5, 13.5, 15.5, 17.5)) axis(2, at=3, labels = FALSE) mtext(paste("VIH Prevalence (%)"), side=2, font=2, cex=1.2) text(1,3, labels=newdata[1], col="white", cex=1.5);text(2,2.45, labels=newdata[2], col="white", cex=1.5) text(3,5.2, labels=newdata[3], col="white", cex=1.5);text(4,3.27, labels=newdata[4], col="white", cex=1.5) text(5,2.35, labels=newdata[5], col="white", cex=1.5);text(6,4.2, labels=newdata[6], col="white", cex=1.5) text(7,2.36, labels=newdata[7], col="black", cex=1.5);text(8,2.85, labels=newdata[8], col="black", cex=1.5) text(9,1.28, labels=newdata[9], col="black", cex=1.5);text(10,2.1, labels=newdata[10], col="black", cex=1.5) text(11,3.13, labels=newdata[11], col="black", cex=1.5);text(12,.6, labels=newdata[12], col="black", cex=1.5) text(13,1.48, labels=newdata[13], col="black", cex=1.5);text(14,1.9, labels=newdata[14], col="black", cex=1.5) text(15,1.05, labels=newdata[15], col="black", cex=1.5);text(16,1, labels=newdata[16], col="black", cex=1.5) text(17,.1, labels=newdata[17], col="black", cex=1.5);text(18,4.1, labels=newdata[18], col="black", cex=1.5) text(19,4.2, labels=newdata[19], col="black", cex=1.5);text(20,3.55, labels=newdata[20], col="black", cex=1.5) Thanks, Jen [[alternative HTML version deleted]]
On Jul 23, 2010, at 11:32 AM, Jennifer Sabatier wrote:> Hi R-List, > > I have a question regarding R-language formats, I think. I am > producing a > series of graphs (using plot, barplot, barchart, and bwplot, using > either > text or mtext to place values on the graphs) and tables for a > Francophone > country. In fact, I have already done so. However, while they are > pleased > with the results they've requested I convert all of my decimal > points into > the French format which uses commas rather than points.?options OutDec: character string containing a single-byte character. The character to be used as the decimal point in output conversions, that is in printing, plotting and as.character but not deparsing. -- DAvid.> I have no idea how > to do this for the graphs, despite searching the help, other than to > convert > all of my statistics into strings and manually reset the decimal > separators, > which would take a long time. Is there some quick and easy way? > It's only > the graphs I need assistance with. For tables I simply output to > excel and > it's easy to change them there. > > Here's an example (I'm sure it's crude but I'm still new at R. To > make the > graph look right you have to expand the java window...which I'm sure > you > don't need to do if you know how to do this in a more elegant manner): > > > sites <- c("Kayes", "Kita", "Koulikoro", "Fana", "Sikasso", > "Koutiala", > "SgFam", "SgHop", "Bla", "Mopti", "Douentz", "Tombc", > "Dire > ","Gao > ","Ansongo","Kidal","Tessalit","BkoCommI","BkoCommIII","BkoCommV") > size <- > list > (2.91,2.36,5.09,3.21,2.27,4.09,2.31,2.76,1.2,2.03,3.06,0.53,1.43,1.83,1,0.93,0,4.01,4.13,3.47 > ) > site_size <- data.frame(cbind(sites, size)) > newdata <- (sapply(subset(site_size, select=c("size")), as.numeric)) > rownames(newdata) <- site_size$sites > > library(grid) > > plot(newdata, ylab =" ", xlab= " " , axes = FALSE)#, type="h", lwd=16) > points(newdata, cex = 10, col = topo.colors(20), bg=topo.colors(20), > pch=22) > lines(newdata, type="h", lwd=40, col=topo.colors(20)) > axis(1, at=seq(1, 20, by=1), labels = FALSE) > text(seq(1, 20, by=1), par("usr")[3] - 0.2, labels = site2_labels, > srt = 45, > pos = 1, xpd = TRUE) > reg.txt <- as.character(c(" Kayes > Koulikoro > Sikasso > Segou Mopti > Tombouctou Gao > Kidal > Bamako")) > mtext(paste(reg.txt), side=3, font=4, cex=1, adj=0)#, outer=T) > text(0, 5.35, "Region:", cex = 1, font=4, xpd=T) > text(0, -.5, "Sites:", cex=1.2, font=1, xpd=T) > abline(v=c(2.5, 4.5, 6.5, 9.5, 11.5, 13.5, 15.5, 17.5)) > axis(2, at=3, labels = FALSE) > mtext(paste("VIH Prevalence (%)"), side=2, font=2, cex=1.2) > text(1,3, labels=newdata[1], col="white", cex=1.5);text(2,2.45, > labels=newdata[2], col="white", cex=1.5) > text(3,5.2, labels=newdata[3], col="white", cex=1.5);text(4,3.27, > labels=newdata[4], col="white", cex=1.5) > text(5,2.35, labels=newdata[5], col="white", cex=1.5);text(6,4.2, > labels=newdata[6], col="white", cex=1.5) > text(7,2.36, labels=newdata[7], col="black", cex=1.5);text(8,2.85, > labels=newdata[8], col="black", cex=1.5) > text(9,1.28, labels=newdata[9], col="black", cex=1.5);text(10,2.1, > labels=newdata[10], col="black", cex=1.5) > text(11,3.13, labels=newdata[11], col="black", cex=1.5);text(12,.6, > labels=newdata[12], col="black", cex=1.5) > text(13,1.48, labels=newdata[13], col="black", cex=1.5);text(14,1.9, > labels=newdata[14], col="black", cex=1.5) > text(15,1.05, labels=newdata[15], col="black", cex=1.5);text(16,1, > labels=newdata[16], col="black", cex=1.5) > text(17,.1, labels=newdata[17], col="black", cex=1.5);text(18,4.1, > labels=newdata[18], col="black", cex=1.5) > text(19,4.2, labels=newdata[19], col="black", cex=1.5);text(20,3.55, > labels=newdata[20], col="black", cex=1.5) > >David Winsemius, MD West Hartford, CT
Worked like a charm! Thanks a lot! Jen On Fri, Jul 23, 2010 at 11:48 AM, Alain Guillet <alain.guillet@uclouvain.be>wrote:> Hi, > > I am sure there is a better solution but a possibility is that you use > sub("\\.",",",as.character(newdata)) instead of newdata in the text calls. > > HTH, > Alain > > > > > On 23-Jul-10 17:32, Jennifer Sabatier wrote: > >> Hi R-List, >> >> I have a question regarding R-language formats, I think. I am producing a >> series of graphs (using plot, barplot, barchart, and bwplot, using either >> text or mtext to place values on the graphs) and tables for a Francophone >> country. In fact, I have already done so. However, while they are >> pleased >> with the results they've requested I convert all of my decimal points into >> the French format which uses commas rather than points. I have no idea >> how >> to do this for the graphs, despite searching the help, other than to >> convert >> all of my statistics into strings and manually reset the decimal >> separators, >> which would take a long time. Is there some quick and easy way? It's >> only >> the graphs I need assistance with. For tables I simply output to excel >> and >> it's easy to change them there. >> >> Here's an example (I'm sure it's crude but I'm still new at R. To make >> the >> graph look right you have to expand the java window...which I'm sure you >> don't need to do if you know how to do this in a more elegant manner): >> >> >> sites<- c("Kayes", "Kita", "Koulikoro", "Fana", "Sikasso", "Koutiala", >> "SgFam", "SgHop", "Bla", "Mopti", "Douentz", "Tombc", >> >> "Dire","Gao","Ansongo","Kidal","Tessalit","BkoCommI","BkoCommIII","BkoCommV") >> size<- >> >> list(2.91,2.36,5.09,3.21,2.27,4.09,2.31,2.76,1.2,2.03,3.06,0.53,1.43,1.83,1,0.93,0,4.01,4.13,3.47) >> site_size<- data.frame(cbind(sites, size)) >> newdata<- (sapply(subset(site_size, select=c("size")), as.numeric)) >> rownames(newdata)<- site_size$sites >> >> library(grid) >> >> plot(newdata, ylab =" ", xlab= " " , axes = FALSE)#, type="h", lwd=16) >> points(newdata, cex = 10, col = topo.colors(20), bg=topo.colors(20), >> pch=22) >> lines(newdata, type="h", lwd=40, col=topo.colors(20)) >> axis(1, at=seq(1, 20, by=1), labels = FALSE) >> text(seq(1, 20, by=1), par("usr")[3] - 0.2, labels = site2_labels, srt >> 45, >> pos = 1, xpd = TRUE) >> reg.txt<- as.character(c(" Kayes Koulikoro >> Sikasso Segou >> Mopti >> Tombouctou Gao Kidal >> Bamako")) >> mtext(paste(reg.txt), side=3, font=4, cex=1, adj=0)#, outer=T) >> text(0, 5.35, "Region:", cex = 1, font=4, xpd=T) >> text(0, -.5, "Sites:", cex=1.2, font=1, xpd=T) >> abline(v=c(2.5, 4.5, 6.5, 9.5, 11.5, 13.5, 15.5, 17.5)) >> axis(2, at=3, labels = FALSE) >> mtext(paste("VIH Prevalence (%)"), side=2, font=2, cex=1.2) >> text(1,3, labels=newdata[1], col="white", cex=1.5);text(2,2.45, >> labels=newdata[2], col="white", cex=1.5) >> text(3,5.2, labels=newdata[3], col="white", cex=1.5);text(4,3.27, >> labels=newdata[4], col="white", cex=1.5) >> text(5,2.35, labels=newdata[5], col="white", cex=1.5);text(6,4.2, >> labels=newdata[6], col="white", cex=1.5) >> text(7,2.36, labels=newdata[7], col="black", cex=1.5);text(8,2.85, >> labels=newdata[8], col="black", cex=1.5) >> text(9,1.28, labels=newdata[9], col="black", cex=1.5);text(10,2.1, >> labels=newdata[10], col="black", cex=1.5) >> text(11,3.13, labels=newdata[11], col="black", cex=1.5);text(12,.6, >> labels=newdata[12], col="black", cex=1.5) >> text(13,1.48, labels=newdata[13], col="black", cex=1.5);text(14,1.9, >> labels=newdata[14], col="black", cex=1.5) >> text(15,1.05, labels=newdata[15], col="black", cex=1.5);text(16,1, >> labels=newdata[16], col="black", cex=1.5) >> text(17,.1, labels=newdata[17], col="black", cex=1.5);text(18,4.1, >> labels=newdata[18], col="black", cex=1.5) >> text(19,4.2, labels=newdata[19], col="black", cex=1.5);text(20,3.55, >> labels=newdata[20], col="black", cex=1.5) >> >> >> >> >> Thanks, >> >> Jen >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > -- > Alain Guillet > Statistician and Computer Scientist > > SMCS - IMMAQ - Université catholique de Louvain > Bureau c.316 > Voie du Roman Pays, 20 > B-1348 Louvain-la-Neuve > Belgium > > tel: +32 10 47 30 50 > >[[alternative HTML version deleted]]