[R] Overlaying lattice graphs (continued)

Sébastien pomchip at free.fr
Thu Jun 21 05:57:13 CEST 2007


Dear R Users,

I recently posted an email on this list  about the use of data.frame and 
overlaying multiple plots. Deepayan kindly indicated to me the 
panel.superposition command which worked perfectly in the context of the 
example I gave.
I'd like to go a little bit further on this topic using a more complex 
dataset structure (actually the one I want to work on).

 >mydata
      Plot    Model    Individuals    Time        Observed          
Predicted
1    1        A           1                  0.05         
10                    10.2
2    1        A           1                  0.10         
20                    19.5
etc...
10  1        B           1                  0.05         10            
         9.8
11  1        B           1                  0.10         20            
         20.2
etc...

There are p "levels" in mydata$Plot, m in mydata$Model, n in 
mydata$Individuals and t in mydata$Time (Note that I probably use the 
word levels improperly as all columns are not factors). Basically, this 
dataset summarizes the t measurements obtained in n individuals as well 
as the predicted values from m different modeling approaches (applied to 
all individuals). Therefore, the observations are repeated m times in 
the Observed columns, while the predictions appears only once for a 
given model an a given individual.

What I want to write is a R batch file creating a Trellis graph, where 
each panel corresponds to one individual and contains the observations 
(as scatterplot) plus the predicted values for all models (as lines of 
different colors)... $Plot is just a token: it might be used to not 
overload graphs in case there are too many tested models. The fun part 
is that the values of p, m, n and t might vary from one dataset to the 
other, so everything has to be coded dynamically.

For the plotting part I was thinking about having a loop in my code 
containing something like that:

for (i in 1:nlevels(mydata$Model)) {

subdata<-subset(mydata,mydata$Model=level(mydata$Model)[i])
xyplot(subset(Observed + Predicted ~ Time | Individuals, data = 
subdata)       #plus additionnal formatting code

}

Unfortunately, this code simply creates a new Trellis plot instead of 
adding the model one by one on the panels. Any idea or link to a useful 
command will wellcome.

Sebastien



More information about the R-help mailing list