2017-12-14 10 views
-4

こんにちは私は線形モデルと回帰プロットを作成しました - しかし、私はモデル結果をプロット自体 - 下の画像のようなもの:リグレッションプロットに線形モデルの結果を追加するには

私はプロット上のキーの結果を表示するにはどうすればよい

example plot

?以下は、プロットのための私のコードは次のとおりです。

library(ggplot2) 
ggplot(HP_crime15, aes (x = as.numeric(HP_crime15$Theft15), y = 
as.numeric(HP_crime15$X2015))) + geom_point(shape=1) + 
geom_smooth(method=lm) + xlab ("Recorded number of Thefts") + 
ylab("House prices (£)") + ggtitle("Title") 

答えて

1

理想的には良い質問はreproducible exampleを提供することにより、問題を提起するものです。とにかく、私はこの問題に2つのステップでアプローチしました。

ステップ1:線形回帰モデルを決定します。

ステップ2:モデルをプロットします。ここで

library (ggplot2) 
ggplot(fit1$model, aes_string(x = names(fit1$model)[2], y = names(fit1$model)[1])) + 
    geom_point() + 
    stat_smooth(method = "lm", col = "red") + 
    labs(title = paste("Adj R2 = ",signif(summary(fit1)$adj.r.squared, 5), 
        "Intercept =",signif(fit1$coef[[1]],5), 
        " Slope =",signif(fit1$coef[[2]], 5), 
        " P =",signif(summary(fit1)$coef[2,4], 5))) 

Plot

1

別のオプションです:代わりにタイトルに統計を追加するのではプロットにラベルを追加することができます。

library (ggplot2) 

fit1 <- lm(Sepal.Length ~ Petal.Width, data = iris) 
ggplot(fit1$model, aes_string(x = names(fit1$model)[2], y = names(fit1$model)[1])) + 
    geom_point() + 
    stat_smooth(method = "lm", col = "red") + 
    geom_label(aes(x = 0, y = 7.5), hjust = 0, 
      label = paste("Adj R2 = ",signif(summary(fit1)$adj.r.squared, 5), 
               "\nIntercept =",signif(fit1$coef[[1]],5), 
               " \nSlope =",signif(fit1$coef[[2]], 5), 
               " \nP =",signif(summary(fit1)$coef[2,4], 5))) 

enter image description here

関連する問題