[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