Re: [R] Adding different output to different lattice panels
On 6/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I would like to add a reference line to lattice graphs, with the reference line being different according to the factor level. Example : Draw 3 dotplots for a,b and c factors, and then add an horizontal line at y=10 for panel a, y=8 for panel b and y=6 for panel 4 It's quite easy to do this with ggplot2 (http://had.co.nz/ggplot2) - see http://had.co.nz/ggplot2/geom_vline.html for examples of both common and specific reference lines. Hadley __ R-help@stat.math.ethz.ch 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.
Re: [R] Adding different output to different lattice panels
On 6/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I would like to add a reference line to lattice graphs, with the reference line being different according to the factor level. Example : Draw 3 dotplots for a,b and c factors, and then add an horizontal line at y=10 for panel a, y=8 for panel b and y=6 for panel 4 I tried the code below, but this draw all three reference lines for each panel. How do I index the current panel to chose the right reference vector value ? dat-data.frame(id=rep(c(a,b,c),4),val=1:12,quand=rep(c(t1,t2,t3,t4),each=3)) ref-c(10,8,6) plot.new() datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref) }) print(datplot) dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h = ref[packet.number()]) }) (Things are more complicated if you have more than one conditioning variable.) -Deepayan __ R-help@stat.math.ethz.ch 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.
Re: [R] Adding different output to different lattice panels
Selon [EMAIL PROTECTED]: On 6/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I would like to add a reference line to lattice graphs, with the reference line being different according to the factor level. Example : Draw 3 dotplots for a,b and c factors, and then add an horizontal line at y=10 for panel a, y=8 for panel b and y=6 for panel 4 I tried the code below, but this draw all three reference lines for each panel. How do I index the current panel to chose the right reference vector value ? dat-data.frame(id=rep(c(a,b,c),4),val=1:12,quand=rep(c(t1,t2,t3,t4),each=3)) ref-c(10,8,6) plot.new() datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref) }) print(datplot) dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h = ref[packet.number()]) }) (Things are more complicated if you have more than one conditioning variable.) -Deepayan I tried you solution, but the following error appears when I print(datplot): Erreur dans as.numeric(h) : impossible de trouver la fonction packet.number I have lattice and grid libraries loaded. The exact code I use is datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref[packet.number()]) }) print(datplot) What do I do wrong ? Note : I usually need to use the indirect datplot-dotplot(... and then print(datplot) when I store my code in a file and use it through source(myfile.R). The direct dotplot(... does not open a device whereas it does if I type directly dotplot(... at the R command line... Is this normal ? -- Alexandre Salvador Tel: +33(0)6.8214.7733 __ R-help@stat.math.ethz.ch 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.
Re: [R] Adding different output to different lattice panels
Selon Deepayan Sarkar [EMAIL PROTECTED]: On 6/28/07, Alexandre Salvador [EMAIL PROTECTED] wrote: Selon [EMAIL PROTECTED]: On 6/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I would like to add a reference line to lattice graphs, with the reference line being different according to the factor level. Example : Draw 3 dotplots for a,b and c factors, and then add an horizontal line at y=10 for panel a, y=8 for panel b and y=6 for panel 4 I tried the code below, but this draw all three reference lines for each panel. How do I index the current panel to chose the right reference vector value ? dat-data.frame(id=rep(c(a,b,c),4),val=1:12,quand=rep(c(t1,t2,t3,t4),each=3)) ref-c(10,8,6) plot.new() datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref) }) print(datplot) dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h = ref[packet.number()]) }) (Things are more complicated if you have more than one conditioning variable.) -Deepayan I tried you solution, but the following error appears when I print(datplot): Erreur dans as.numeric(h) : impossible de trouver la fonction packet.number I have lattice and grid libraries loaded. The exact code I use is datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref[packet.number()]) }) print(datplot) What do I do wrong ? You are using a very old version of R (or at least old enough that the packet.number number didn't exist). You haven't told us what version you are using. I would encourage you to upgrade, but this might work for now: dotplot(val~quand|id,data=dat, panel=function(..., panel.number){ panel.dotplot(...) panel.abline(h = ref[panel.number]) }) Note : I usually need to use the indirect datplot-dotplot(... and then print(datplot) when I store my code in a file and use it through source(myfile.R). The direct dotplot(... does not open a device whereas it does if I type directly dotplot(... at the R command line... Is this normal ? Yes, and a FAQ: http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f -Deepayan Works all right, I use Version 2.3.1 (2006-06-01) I'll upgrade to the newer versions... Thanks very much, Cheers -- Alexandre Salvador Tel: +33(0)6.8214.7733 __ R-help@stat.math.ethz.ch 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.
Re: [R] Adding different output to different lattice panels
On 6/28/07, Alexandre Salvador [EMAIL PROTECTED] wrote: Selon [EMAIL PROTECTED]: On 6/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I would like to add a reference line to lattice graphs, with the reference line being different according to the factor level. Example : Draw 3 dotplots for a,b and c factors, and then add an horizontal line at y=10 for panel a, y=8 for panel b and y=6 for panel 4 I tried the code below, but this draw all three reference lines for each panel. How do I index the current panel to chose the right reference vector value ? dat-data.frame(id=rep(c(a,b,c),4),val=1:12,quand=rep(c(t1,t2,t3,t4),each=3)) ref-c(10,8,6) plot.new() datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref) }) print(datplot) dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h = ref[packet.number()]) }) (Things are more complicated if you have more than one conditioning variable.) -Deepayan I tried you solution, but the following error appears when I print(datplot): Erreur dans as.numeric(h) : impossible de trouver la fonction packet.number I have lattice and grid libraries loaded. The exact code I use is datplot-dotplot(val~quand|id,data=dat,panel=function(...){ panel.dotplot(...) panel.abline(h=ref[packet.number()]) }) print(datplot) What do I do wrong ? You are using a very old version of R (or at least old enough that the packet.number number didn't exist). You haven't told us what version you are using. I would encourage you to upgrade, but this might work for now: dotplot(val~quand|id,data=dat, panel=function(..., panel.number){ panel.dotplot(...) panel.abline(h = ref[panel.number]) }) Note : I usually need to use the indirect datplot-dotplot(... and then print(datplot) when I store my code in a file and use it through source(myfile.R). The direct dotplot(... does not open a device whereas it does if I type directly dotplot(... at the R command line... Is this normal ? Yes, and a FAQ: http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f -Deepayan __ R-help@stat.math.ethz.ch 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.