On Thu, Oct 8, 2009 at 1:57 AM, Paul Chatfield <p.s.chatfi...@rdg.ac.uk> wrote: > > Cheers guys that's helpful. Doug, you're right, my code for ff should have > been > > for (i in 1:length(y)) > {if (f1[i]=="after" & f3[i]==1) ff[i]<-"1, after" > else if(f1[i]=="after" & f3[i]==2) ff[i]<-"2, after" > else if(f1[i]=="before" & f3[i]==1) ff[i]<-"1, before" > else if(f1[i]=="before" & f3[i]==2) ff[i]<-"2, before"} > > As I have factors with only 2,2 and 3 levels respectively, your approach > suits the problem perfectly. Just to round this off, trying to reorient it > back to having the y on axis 2 seems to mean the line now does "dot-to-dot" > instead of fitting the average. Am I being dim in missing a key option in > my statement below which would correct this as your code did, Doug, when > oriented the other way, or does it require some kind of panel statement? > > dotplot(y~f2|f1, groups=f3, layout=c(2,1), strip=T, type=c("a","p"), pch=19)
All you probably need is to make f2 a factor (e.g., y ~ factor(f2) | f1). Otherwise dotplot() doesn't know which one to treat as categorical. -Deepayan ______________________________________________ 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.