[R] Lattice: groups and no groups with panel.superpose

Robert Buitenwerf buitenwerfrobert at hotmail.com
Sat Nov 15 15:25:39 CET 2008


Dear R listers,
 
I am trying to create a lattice plot with independent regression lines per group
for each panel, plus one overall regression line per panel. I succeed in having
the separate regression lines for each group per panel, but I can't figure out
how to add the overall regression line over all groups. I have learnt a lot from
the list, but I can't find an example for what I want to do...
 
with the following example data (from another post):
  years<-2000:2006
  weeks<-1:20
  yr<-rep(years,rep(length(weeks)*6,length(years)))
  wk<-rep(weeks,rep(6,length(weeks)))
  temp<-rep(4:9,length(years)*length(weeks))
  yvar<-round(rnorm(length(years)*length(weeks)*6,mean=30,sd=4),0)
  xvar<-(rnorm(length(years)*length(weeks)*6)+5)/10
  df<-data.frame(year=yr,week=wk,temp=temp,       yvar=yvar,
  xvar=xvar)
 
I get the regression lines per group for each panel using:
  
  xyplot(yvar~year|week,data=df,layout = c(4, 5),
         type='p',
         groups = temp ,
         panel = panel.superpose,
         panel.groups = function(x, y, ..., lty) {
                 panel.xyplot(x, y, ..., lty = lty)
                 panel.abline(lm(y~x), lty=3, ...)
         })
       
And obviously the overall regression lines with:
  
  xyplot(yvar~year|week,data=df,layout = c(4, 5),
         type='p',
         panel = function(x, y, ...) {
         panel.xyplot(x, y, ...)
         panel.abline(lm(y~x))
         })
       
Any advice on how to "merge" the output from the two above graphs would be
greatly appreciated!
 
 
Kind regards,
 
Robert Buitenwerf
Ecologist
SAEON
South Africa
_________________________________________________________________
[[elided Hotmail spam]]



More information about the R-help mailing list