So-net無料ブログ作成

R: modelrをつかってみるテスト [統計]

modelrとggplot2で回帰直線をひいてみたりするテストです。

コード
library(ggplot2)
library(dplyr)
library(modelr)
data(iris)

p1 <- ggplot(data = iris) +
  geom_point(mapping = aes(x = Sepal.Length, y = Sepal.Width, colour = Species))
print(p1)

p2 <- p1 +
  geom_smooth(mapping = aes(x = Sepal.Length, y = Sepal.Width, colour = Species))
print(p2)

spp <- levels(factor(iris$Species))
model <- lm(Sepal.Width ~ 0 + Sepal.Length + Species, data = iris)
grid <- expand.grid(c(min(iris$Sepal.Length),
                      max(iris$Sepal.Length)),
                    spp) %>%
  rename(Sepal.Length = Var1, Species = Var2) %>%
  add_predictions(model)

p3 <- p1 +
  geom_line(data = grid,
            aes(x = Sepal.Length, y = pred, colour = Species))
print(p3)

結果です。

p1
plot01.png

p2
plot02.png

p3
plot03.png


タグ:R ggplot2
nice!(1)  コメント(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント