`plot.lm()` 生成的 "residuals vs leverage" 图中的红色实线是什么?
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)
图中红色实线是什么意思?
我认为这与厨师的距离无关。
这是 LOESS 回归线(span = 2/3
和 degree = 2
),通过平滑标准化残差对杠杆率。
在plot.lm()
内部,变量xx
是杠杆,而rsp
是Pearson残差(即标准化残差)。然后,散点图以及红色实线绘制为:
graphics::panel.smooth(xx, rsp)
这是此函数的作用:
> 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>
?plot.lm
的 R 文档并未解释所有内容。从"Arguments"部分最多可以得到如下提示:
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.
通常 add.smooth = TRUE
是默认值,因此您会看到红色实线。但是你可以使用 add = FALSE
来抑制它:
plot(fit, which = 5, add.smooth = FALSE)
fit <- lm(dist ~ speed, cars)
plot(fit, which = 5)
图中红色实线是什么意思?
我认为这与厨师的距离无关。
这是 LOESS 回归线(span = 2/3
和 degree = 2
),通过平滑标准化残差对杠杆率。
在plot.lm()
内部,变量xx
是杠杆,而rsp
是Pearson残差(即标准化残差)。然后,散点图以及红色实线绘制为:
graphics::panel.smooth(xx, rsp)
这是此函数的作用:
> 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>
?plot.lm
的 R 文档并未解释所有内容。从"Arguments"部分最多可以得到如下提示:
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.
通常 add.smooth = TRUE
是默认值,因此您会看到红色实线。但是你可以使用 add = FALSE
来抑制它:
plot(fit, which = 5, add.smooth = FALSE)