[R] plotting groupedData object
Osman Al-Radi
osman.al.radi at gmail.com
Tue May 2 18:04:18 CEST 2006
Dear Deepayan,
Thank you that works very well. What reading material do you recommend
to learn the lattice library?
thanks again,
Osman
On 5/2/06, Deepayan Sarkar <deepayan.sarkar at gmail.com> wrote:
> On 5/1/06, Osman Al-Radi <osman.al.radi at gmail.com> wrote:
> > thank your help, here is a simulated data set
> >
> > time<-c(rep(1:10,5))
> > y<-time+rnorm(50,5,2)
> > subject<-c(rep('a',10),rep('b',10),rep('c',10),rep('d',10),rep('e',10))
> > group<-c(rep('A',30),rep('B',20))
> > df<-data.frame(subject,group,time,y)
> > gd<-groupedData(y~time|subject,outer=~group,data=df)
> > plot(gd,outer=T)
> >
> > this produces 2 panels with two lines for group=B, and 3 lines for
> > group=A. Is there a way to add another line to each panel representing
> > the mean at each time point or a lowess curve?
>
> Do you mean ignoring the grouping? That's easier to do if you use
> xyplot directly (which the plot method ultimately calls), e.g.:
>
> xyplot(y ~ time | group, df, groups = subject, type = 'b',
> auto.key = list(lines = TRUE, points = FALSE, columns = 5),
> panel = function(...) {
> panel.linejoin(..., horizontal = FALSE, col = 'black')
> panel.superpose(...)
> })
>
> xyplot(y ~ time | group, df, groups = subject, type = 'b',
> auto.key = list(lines = TRUE, points = FALSE, columns = 5),
> panel = function(...) {
> panel.loess(..., col = 'black')
> panel.superpose(...)
> })
>
> -Deepayan
>
--
Osman O. Al-Radi, MD, MSc, FRCSC
Fellow, Cardiovascular Surgery
The Hospital for Sick Children
University of Toronto, Canada
More information about the R-help
mailing list