[R] Overlaying lattice graphs (continued)
hadley wickham
h.wickham at gmail.com
Thu Jun 21 14:13:05 CEST 2007
Hi Sebastian,
I think you need to rearrange your data a bit. Firstly, you need to
put observed on the same footing as the different models, so you would
have a new column in your data called value (previously observed and
predicted) and a new model type ("observed"). Then you could do:
xyplot(value ~ time | individauls, data=mydata, group=model)
Hadley
On 6/21/07, Sébastien <pomchip at free.fr> wrote:
> 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
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list