Dear list,

I would like to know how the function residuals.lm calculates the partial residuals from an lm object with more than one predictor variable. In other words what is residuals.lm(...,type="partial") doing behind the scenes? According to the help file for residuals.lm (?residuals.lm), "The partial residuals are a matrix with each column formed by omitting a term from the model". Unfortunately, I cannot seem to recreate the results of the function "residuals.lm" by simply dropping a variable from a model and then calculating the raw residuals of the updated model. Can anyone see what I am overlooking? It may be helpful to others if I mention that the usage of residuals.lm(...,type='partial') by the function termplot is what motivated me to look at this function more closely. Below is a simple example to illustrate my question:

set.seed(12)

x1 <- runif(100)
x2 <- runif(100)

y <- .13+.25*x1+.70*x2+runif(100)

mod <- lm(y~x1+x2)

##let's only consider the partial residuals when x2 is dropped from the model
plot(residuals(mod,type="partial")[,2],residuals(update(mod,.~.-x2),type='response'))
abline(0,1) ##1:1 line
##why do the points not all fall on the 1:1 line?

Thanks,
Dan

--
Daniel J. McGlinn
Department of Botany, Oklahoma State University
http://ecology.okstate.edu/Libra/

______________________________________________
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.

Reply via email to