# [R] nlme errors ?

Ramon Diaz-Uriarte rdiazuri at students.wisc.edu
Wed Jul 5 18:09:52 CEST 2000

```Just in case these plotting functions are of help to anybody, here they go. I
wrote them a while ago, and use them routinely as diagnostics for linear mixed
effects models (most of them follow ideas in ch. 4 of Pinheiro & Bates's
"Mixed-effects models in S and S-Plus").  I know they are not very well
written and there is a lot of room for improvement (in fact, I never intended
for them to be seen by anybody but me, and thus being sloppy didn't
have to embarrass me...); for instance, the data set needs to be attached for
the plots to work, some of them don't work if you have missing values, and
the par settings are changed; these are all easy to fix (but I am lazy...).

Ramón

***************

lme.plot1 <- function(fit, resid="p",...){
### resids by fitted, qqnorm of resids, observed by fitted
xx <- attributes(terms.formula(fit\$call[[2]]))\$variables[[2]]
plot( resid(fit,type = resid) ~ fitted(fit), xlab="Fitted values", las=1)
qqnorm(resid(fit,type = resid), las=1)
plot( eval(xx) ~ fitted(fit), ylab = deparse(xx), xlab = "Fitted values", las = 1)
qqnorm( ranef(fit, level = length(attributes(ranef(fit))\$grpNames)), main = "Random effects")

}

lme.plot2 <- function(fit, resid="p", jit.am = 0){
###to plot residuals vs. levels of predictors
zz <- attributes(terms.formula(fit\$call[[2]]))\$variables
## print("there are a bunch of plots, keep pressing")
## print(c("to see all; total number of plots are ",(length(zz) - 2) ))
par(las = 1)
for (i in 1:(length(zz) - 2)) {
plot( resid(fit,type = resid) ~ jitter(as.numeric(eval(zz[[i + 2]])), amount=jit.am), xlab = deparse(zz[[i + 2]]))
abline(h = 0, lty = 2)
}
}

lme.plot3 <- function(fit, resid = "p",...){
### to plot residuals vs. fitted for each level of the predictors with coplot
zz <- attributes(terms.formula(fit\$call[[2]]))\$variables
par(las = 1)
for (i in 1:(length(zz) - 2)) coplot(resid(fit,type = resid) ~ fitted(fit)|eval(zz[[i+2]]), xlab=deparse(zz[[i + 2]]), ...)
}

*******************

--
Ramón Díaz-Uriarte
Dept. Zoology and Statistics

email: rdiazuri at students.wisc.edu
(NOTE: starting 15-July-2000 new email:
ramon-diaz at teleline.es)
phone: 608-238-8041
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

```