繁体   English   中英

如何用ggplot绘制lm()的残差?

[英]How can I plot the residuals of lm() with ggplot?

我想对从lm()模型获得的残差进行漂亮的绘制。 目前,我使用plot(model$residuals) ,但是我想要更好的东西。 如果尝试使用ggplot对其进行绘制,则会收到错误消息:

ggplot2不知道如何处理数值类的数据

根据Hadley的建议,不再建议使用Fortify,并且可能不建议使用Fortify。

您可以使用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版本。 看到这个小插图


fit <- lm(mpg ~ hp, data = mtcars)

library(ggfortify)
autoplot(fit)

在此处输入图片说明

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()

现在,您可以使用为在CRAN上创建ggplot类型残差图而开发的ggResidpanel软件包。 您可以在这里找到入门教程!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM