[R] update.lm question
Karsten Weinert
k.weinert at gmx.net
Sun Nov 15 18:40:05 CET 2009
Thanks Duncan and David
for opening my eyes :-). It took quite a while but I think I learned a
lot about lm today. I used your advice to produce "added variable
plots" as mentioned here [1], [2]. I would bet someone did it in R
already (may leverage.plot in car) but it was worth doing it myself.
Kind regards,
Karsten.
[1] http://www.minitab.com/support/documentation/answers/AVPlots.pdf
[2] http://www.mathworks.com/access/helpdesk/help/toolbox/stats/addedvarplot.html
plotAddedVar.lm <- function(
linModel,
termName,
main="",
xlab=paste(termName, " | andere"),
ylab=paste(colnames(linModel$model)[1], " | andere"),
cex=0.7, ...) {
oldpar <- par(no.readonly = TRUE); on.exit(par(oldpar))
par(mar=c(3,4,0.4,0)+0.1, las=1, cex=cex)
yData = residuals(update(linModel, substitute(. ~ . - x,
list(x=as.name(termName)))))
xData = residuals(update(linModel, substitute(x ~ . - x,
list(x=as.name(termName)))))
plot(xData, yData, main=main, xlab="", ylab="")
mtext(side=2, text=ylab, line=3, las=0, cex=cex)
mtext(side=1, text=xlab, line=2, las=0, cex=cex)
abline(h=0)
abline(a=0, b=coefficients(linModel)[termName], col="blue")
}
plotAddedVar <- function(linModel,...) UseMethod("plotAddedVar")
More information about the R-help
mailing list