The plot also works if you replace "na.exclude" with "na.omit".
On Wed, 7 Jul 2010, Deepayan Sarkar wrote: DS > On Fri, Jul 2, 2010 at 11:40 AM, Gregory Gentlemen DS > <gregory_gentle...@yahoo.ca> wrote: DS > > Fellow R-users, DS > > DS > > I have a longitudinal data set with missing values in it. I would like to produce a residual plot for each time using panel.xyplot function but I get an error message. Here's a simple example, DS > > DS > > library(nlme) DS > > set.seed(1544) DS > > longdata <- data.frame(ID=gl(10,1,50), y=rnorm(50), time = as.numeric(gl(5,10,50)), x = rnorm(50)) DS > > longdata$y[5] <- NA DS > > longdata$x[35] <- NA DS > > DS > > modlme<- lme(fixed=y ~ time + x, DS > > random= ~ 1 | ID, DS > > na.action=na.exclude, data=longdata) DS > > DS > > DS > > plot( modlme, abs( resid(., type = 'p')) ~ fitted(.) | time, DS > > panel = function(x, y, ...) { DS > > panel.xyplot( x, y, ...) DS > > panel.loess( x, y,...) DS > > }) DS > > DS > > where the last call produces the error message DS > > Error in `[[<-.data.frame`(`*tmp*`, j, value = c(1, 1, 1, 1, 1, 1, 1, : DS > > replacement has 48 rows, data has 50 DS > > DS > > DS > > How do I fix this? DS > DS > NA-handling is not working right, it seems. Would it make any real DS > difference to your analysis to do DS > DS > modlme<- lme(fixed=y ~ time + x, DS > random= ~ 1 | ID, data = na.omit(longdata)) DS > DS > (in which case the subsequent plot call works)? DS > DS > -Deepayan DS > DS > ______________________________________________ DS > R-help@r-project.org mailing list DS > https://stat.ethz.ch/mailman/listinfo/r-help DS > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html DS > and provide commented, minimal, self-contained, reproducible code. DS >
______________________________________________ R-help@r-project.org 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.