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.