【发布时间】:2016-08-12 09:04:06
【问题描述】:
我想要一个关于我从 lm() 模型中得到的残差的漂亮图。目前我使用plot(model$residuals),但我想要更好的东西。如果我尝试用 ggplot 绘制它,我会收到错误消息:
ggplot2 不知道如何处理 numeric 类的数据
【问题讨论】:
我想要一个关于我从 lm() 模型中得到的残差的漂亮图。目前我使用plot(model$residuals),但我想要更好的东西。如果我尝试用 ggplot 绘制它,我会收到错误消息:
ggplot2 不知道如何处理 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()
【讨论】:
broom::tidy()
不再推荐使用 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()
【讨论】:
mod <- lm(y ~ x)ggplot(mod, 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!
【讨论】: