如何使用 ggplot 绘制 lm() 的残差?
How can I plot the residuals of lm() with ggplot?
我想要一个关于从 lm()
模型中得到的残差的好图。目前我使用 plot(model$residuals)
,但我想要更好的东西。如果我尝试使用 ggplot 绘制它,我会收到错误消息:
ggplot2 doesn't know how to deal with data of class numeric
ggplot
想要 data.frame。 fortify
会为你做一个。
y <-rnorm(10)
x <-1:10
mod <- lm(y ~ x)
modf <- fortify(mod)
ggplot(modf, aes(x = .fitted, y = .resid)) + geom_point()
不再推荐使用 Fortify,根据 Hadley 的说法可能会弃用。
您可以使用 broom 包来做类似的事情(更好):
library(broom)
y <-rnorm(10)
x <-1:10
mod <- lm(y ~ x)
df <- augment(mod)
ggplot(df, aes(x = .fitted, y = .resid)) + geom_point()
使用 ggfortify::autoplot()
作为回归诊断图的 gg
版本。看到这个 vignette.
例子
fit <- lm(mpg ~ hp, data = mtcars)
library(ggfortify)
autoplot(fit)
现在您可以使用为在 CRAN 上创建 ggplot 类型残差图而开发的 ggResidpanel
包。您可以找到入门教程 here!
我想要一个关于从 lm()
模型中得到的残差的好图。目前我使用 plot(model$residuals)
,但我想要更好的东西。如果我尝试使用 ggplot 绘制它,我会收到错误消息:
ggplot2 doesn't know how to deal with data of class numeric
ggplot
想要 data.frame。 fortify
会为你做一个。
y <-rnorm(10)
x <-1:10
mod <- lm(y ~ x)
modf <- fortify(mod)
ggplot(modf, aes(x = .fitted, y = .resid)) + geom_point()
不再推荐使用 Fortify,根据 Hadley 的说法可能会弃用。
您可以使用 broom 包来做类似的事情(更好):
library(broom)
y <-rnorm(10)
x <-1:10
mod <- lm(y ~ x)
df <- augment(mod)
ggplot(df, aes(x = .fitted, y = .resid)) + geom_point()
使用 ggfortify::autoplot()
作为回归诊断图的 gg
版本。看到这个 vignette.
例子
fit <- lm(mpg ~ hp, data = mtcars)
library(ggfortify)
autoplot(fit)
现在您可以使用为在 CRAN 上创建 ggplot 类型残差图而开发的 ggResidpanel
包。您可以找到入门教程 here!