web-dev-qa-db-ja.com

lm()の残差をggplotでプロットするにはどうすればよいですか?

lm()モデルから得られた残差に関するナイスプロットを取得したいと考えています。現在はplot(model$residuals)を使用していますが、もっと良いものにしたいと思っています。 ggplotでプロットしようとすると、次のエラーメッセージが表示されます。

ggplot2はnumericクラスのデータを処理する方法を知りません

10
Lanza

Fortifyはもはや推奨されておらず、Hadleyによると廃止される可能性があります。

ほうきパッケージを使用して、同様の(より良い)ことを行うことができます。

library(broom)
y <-rnorm(10)
x <-1:10
mod <- lm(y ~ x)
df <- augment(mod)
ggplot(df, aes(x = .fitted, y = .resid)) + geom_point()
24
Gopala

ggバージョンの回帰診断プロットにはggfortify::autoplot()を使用します。これを見てください ビネット


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

library(ggfortify)
autoplot(fit)

enter image description here

9
ikashnitsky

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()
2
Richard Telford

これで、CRANでggplotタイプの残差プロットを作成するために開発されたggResidpanelパッケージを使用できます。あなたは紹介チュートリアルを見つけることができます ここ

1
Koray