[R] How is the line in av.plot calculated?
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Feb 16 19:08:19 CET 2007
On 2/16/2007 12:57 PM, Tom La Bone wrote:
> I suspect that the line in the added variable plot (library car) is a SLR of
> the residuals, but I can't seem to find this written anywhere. Can someone
> confirm this? Thanks.
You can look at the source:
> av.plot
function (model, ...)
{
UseMethod("av.plot")
}
<environment: namespace:car>
So the answer will depend on what kind of model you want. The method
for lm objects would be in av.plot.lm, which is not directly visible:
> av.plot.lm
Error: object "av.plot.lm" not found
however getAnywhere finds it:
> getAnywhere("av.plot.lm")
A single object matching 'av.plot.lm' was found
It was found in the following places
registered S3 method for av.plot from namespace car
namespace:car
with value
function (model, variable, labels =
names(residuals(model)[!is.na(residuals(model))]),
identify.points = TRUE, las = par("las"), col = palette()[2],
pch = 1, lwd = 2, main = "Added-Variable Plot", ...)
{
variable <- if (is.character(variable) & 1 == length(variable))
variable
else deparse(substitute(variable))
mod.mat <- model.matrix(model)
var.names <- colnames(mod.mat)
var <- which(variable == var.names)
if (0 == length(var))
stop(paste(variable, "is not a column of the model matrix."))
response <- response(model)
responseName <- responseName(model)
if (is.null(weights(model)))
wt <- rep(1, length(response))
else wt <- weights(model)
res <- lsfit(mod.mat[, -var], cbind(mod.mat[, var], response),
wt = wt, intercept = FALSE)$residuals
plot(res[, 1], res[, 2], xlab = paste(var.names[var], "| others"),
ylab = paste(responseName, " | others"), main = main,
las = las, col = col, pch = pch)
abline(lsfit(res[, 1], res[, 2], wt = wt), col = col, lwd = lwd)
if (identify.points)
identify(res[, 1], res[, 2], labels)
}
<environment: namespace:car>
>
from which I would conclude that your description is correct: the line
is drawn in the abline() call near the bottom.
Duncan Murdoch
More information about the R-help
mailing list