ggplot2と二項GLM

R における Generalized Linear Models

Richard Erickson

Instructor

データから何が読み取れるか?

通勤距離はバス利用確率に影響するか?

ggplot(bus, aes(x = MilesOneWay, y = Bus)) + geom_point()

点のみのプロット

R における Generalized Linear Models

geom_jitter()

gg_jitter <- ggplot(bus, aes(x = MilesOneWay, y = Bus)) +
             geom_jitter(width = 0, height = 0.05)
print(gg_jitter) 

ジッタープロット

R における Generalized Linear Models

geom_smooth()

gg_jitter + geom_smooth()

平滑化ジオムを追加したジッタープロット

R における Generalized Linear Models

因子型から数値型へ

str(bus)
bus$Bus2 <- as.numeric(bus$Bus) - 1 
R における Generalized Linear Models

geom_smooth()

gg_jitter + geom_smooth() 

データを文字型から数値型に変換

R における Generalized Linear Models

線形モデル

gg_jitter + geom_smooth(method = 'glm')

ggJitterに線形モデルを追加

R における Generalized Linear Models

ロジスティック回帰

ggJitter + 
geom_smooth(method = 'glm',
            method.args = list(family = "binomial")) 

ロジスティック曲線を追加したggJitter

R における Generalized Linear Models
gg_jitter + 
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'logit')),
                se = FALSE, color = 'red') +
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'probit')),
                se = FALSE, color = 'blue') 

logitとprobitの両曲線を描画したggJitter

R における Generalized Linear Models

手順のまとめ

  • 重複を避けるためにジッタープロットを使用する
  • 平滑化ジオムを追加する
  • 適切なメソッドとファミリーを指定する
  • 図を整える(本コースでは省略)
R における Generalized Linear Models

練習しましょう!

R における Generalized Linear Models

Preparing Video For Download...