[R] Overlaying lattice graphs (continued)

Sébastien pomchip at free.fr
Thu Jun 21 14:53:41 CEST 2007


Hi Hadley,

Hopefully, my dataset won't be too hard to changed. Can I modify the 
aspect of each group using your code (symbols for observed and lines for 
predicted)?

Sebastien

hadley wickham a écrit :
> 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