student.J
student.J

Reputation: 35

What is the red solid line in the "residuals vs leverage" plot produced by `plot.lm()`?

fit <- lm(dist ~ speed, cars)
plot(fit, which = 5)

What does the solid red line in the middle of plot mean?

I think it is not about cook's distance.

Upvotes: 3

Views: 3483

Answers (1)

Zheyuan Li
Zheyuan Li

Reputation: 73385

It is the LOESS regression line (with span = 2/3 and degree = 2), by smoothing standardised residuals against leverage.

Internally in plot.lm(), variable xx is leverage, while rsp is Pearson residuals (i.e., standardised residuals). Then, the scattered plot as well as the red solid line is drawn via:

graphics::panel.smooth(xx, rsp)

Here is what this function does:

> panel.smooth
function (x, y, col = par("col"), bg = NA, pch = par("pch"), 
    cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...) 
{
    points(x, y, pch = pch, col = col, bg = bg, cex = cex)
    ok <- is.finite(x) & is.finite(y)
    if (any(ok)) 
        lines(stats::lowess(x[ok], y[ok], f = span, iter = iter), 
            col = col.smooth, ...)
}
<bytecode: 0xabc0004>
<environment: namespace:graphics>

R documentation for ?plot.lm does not explain everything. You can at most get the following hint from the "Arguments" section:

panel   

    panel function. The useful alternative to `points`, `panel.smooth` can be
    chosen by `add.smooth = TRUE`.

add.smooth  

    logical indicating if a smoother should be added to most plots; see also 
    panel above.

Normally add.smooth = TRUE is the default, hence you see that solid red line. But you can use add = FALSE to suppress it:

plot(fit, which = 5, add.smooth = FALSE)

enter image description here

Upvotes: 4

Related Questions