演習の概要

注意事項

  • 慶應義塾大学SFCで開講している「統計解析」の授業履修者向けの演習用ページです。
  • 必ずしも全てのバージョンのRやOSで動作確認を行っていません。この演習用ページを作成している段階では、R3.6.0を使っています。
  • Rの更新などにより、Rコードなどを予告無しに変更する場合があります。

Rの利用方法

  • フリー統計ソフトRを利用するには、Rをダウンロードする、Webブラウザ上で利用する、などの方法があります。
  • RはCRANからダウンロードし、インストール可能です。
  • RStudioには、より操作が容易なGUIが用意されています。
  • RStudio Cloudを使うと、RをダウンロードすることなくWebブラウザ上でRを操作できます。
  • RStudioは日本語が使えない場合があります。起動時にLC_CTYPE failedなどのエラーメッセージが出る場合は、以下の一行を実行しRStudioを再起動てください。
system("defaults write org.R-project.R force.LANG en_US.UTF-8")

データ分析の準備

パッケージのインストール

  • install.packages()でパッケージをインストールし、library()でパッケージを呼び出す
  • ここでは以下のパッケージを用います。
install.packages("dplyr")
install.packages("magrittr")
install.packages("ggplot2")
library(dplyr)
library(magrittr)
library(ggplot2)
  • パイプ%>%の優先順位を高めます。

データのダウンロード

  • 演習で用いるデータはここからダウンロードしてください。

作業用フォルダの指定

  • ダウンロードしたzipファイルを解凍し、作成されたフォルダを作業用フォルダとして指定してください。setwd()関数を使うなどして、作業用フォルダを指定できます。例えば、HDの直下にDSBdataフォルダを作成した場合は以下のようになります。
setwd("~/DSBdata")

データの読み込み

  • 『家計調査』2017年9月、第2−6表「年間収入階級別1世帯当たり1か月間の収入と支出」から作成した所得階級と支出のデータkakei201709_l18.csvを用います。
  • ここでは、read.csv()関数を使って、CSVファイルを読み込みます。
kakei <- read.csv("kakei201709_l18.csv", header=TRUE, sep=",")
  • ggplot2ggplot()関数を使って散布図を描きます。
g <- ggplot2::ggplot(kakei, aes(x=INC1, y=CONS1))
g + geom_point() + xlab("Income (1000 yen)") + ylab("Consumption (10000 yen)")

回帰分析

単回帰分析

  • lm()関数を使って、線形回帰モデル(単回帰モデル)を最小二乗推定します。
  • その結果は、以下のように表示されます。
kakei.lm1 <- lm(CONS1~INC1, data=kakei)
summary(kakei.lm1)

Call:
lm(formula = CONS1 ~ INC1, data = kakei)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5039 -1.0488  0.3011  1.2763  2.3413 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 14.263033   0.768529   18.56 3.02e-12 ***
INC1         0.216059   0.009384   23.02 1.08e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.774 on 16 degrees of freedom
Multiple R-squared:  0.9707,    Adjusted R-squared:  0.9689 
F-statistic: 530.1 on 1 and 16 DF,  p-value: 1.08e-13
  • 散布図に回帰直線を重ね描きします。
g <- ggplot2::ggplot(kakei, aes(x=INC1, y=CONS1)) +
  geom_point() + xlab("Income (1000 yen)") + ylab("Consumption (10000 yen)")
g + geom_smooth(method = "lm")

以上で今回の演習は終了です。

LS0tCnRpdGxlOiAi57Wx6KiI6Kej5p6QUua8lOe/kjEiCiNhdXRob3I6ICJUb21veXVraSBGdXJ1dGFuaSIKI2RhdGU6ICIyMDE5LzgvOSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICBodG1sX2RvY3VtZW50OiBkZWZhdWx0Ci0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGNhY2hlID0gVFJVRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVycm9yID0gVFJVRSkKYGBgCgojIyDmvJTnv5Ljga7mpoLopoEKLSDljZjlm57luLDliIbmnpAKCiMjIyDms6jmhI/kuovpoIUKLSDmhbbmh4nnvqnlob7lpKflraZTRkPjgafplovorJvjgZfjgabjgYTjgovjgIzntbHoqIjop6PmnpDjgI3jga7mjojmpa3lsaXkv67ogIXlkJHjgZHjga7mvJTnv5LnlKjjg5rjg7zjgrjjgafjgZnjgIIKLSDlv4XjgZrjgZfjgoLlhajjgabjga7jg5Djg7zjgrjjg6fjg7Pjga5S44KET1Pjgafli5XkvZznorroqo3jgpLooYzjgaPjgabjgYTjgb7jgZvjgpPjgILjgZPjga7mvJTnv5LnlKjjg5rjg7zjgrjjgpLkvZzmiJDjgZfjgabjgYTjgovmrrXpmo7jgafjga/jgIFSMy42LjDjgpLkvb/jgaPjgabjgYTjgb7jgZnjgIIKLSBS44Gu5pu05paw44Gq44Gp44Gr44KI44KK44CBUuOCs+ODvOODieOBquOBqeOCkuS6iOWRiueEoeOBl+OBq+WkieabtOOBmeOCi+WgtOWQiOOBjOOBguOCiuOBvuOBmeOAgiAKCiMjIyBS44Gu5Yip55So5pa55rOVCi0g44OV44Oq44O857Wx6KiI44K944OV44OIUuOCkuWIqeeUqOOBmeOCi+OBq+OBr+OAgVLjgpLjg4Djgqbjg7Pjg63jg7zjg4njgZnjgovjgIFXZWLjg5bjg6njgqbjgrbkuIrjgafliKnnlKjjgZnjgovjgIHjgarjganjga7mlrnms5XjgYzjgYLjgorjgb7jgZnjgIIKLSBS44GvW0NSQU5dKGh0dHBzOi8vY3Jhbi5yLXByb2plY3Qub3JnLynjgYvjgonjg4Djgqbjg7Pjg63jg7zjg4njgZfjgIHjgqTjg7Pjgrnjg4jjg7zjg6vlj6/og73jgafjgZnjgIIKLSBbUlN0dWRpb10oaHR0cHM6Ly93d3cucnN0dWRpby5jb20vcHJvZHVjdHMvcnN0dWRpby9kb3dubG9hZC8p44Gr44Gv44CB44KI44KK5pON5L2c44GM5a655piT44GqR1VJ44GM55So5oSP44GV44KM44Gm44GE44G+44GZ44CCCi0gW1JTdHVkaW8gQ2xvdWRdKGh0dHBzOi8vcnN0dWRpby5jbG91ZC9wcm9qZWN0cynjgpLkvb/jgYbjgajjgIFS44KS44OA44Km44Oz44Ot44O844OJ44GZ44KL44GT44Go44Gq44GPV2Vi44OW44Op44Km44K25LiK44GnUuOCkuaTjeS9nOOBp+OBjeOBvuOBmeOAggotIFJTdHVkaW/jga/ml6XmnKzoqp7jgYzkvb/jgYjjgarjgYTloLTlkIjjgYzjgYLjgorjgb7jgZnjgILotbfli5XmmYLjgatgTENfQ1RZUEUgZmFpbGVkYOOBquOBqeOBruOCqOODqeODvOODoeODg+OCu+ODvOOCuOOBjOWHuuOCi+WgtOWQiOOBr+OAgeS7peS4i+OBruS4gOihjOOCkuWun+ihjOOBl1JTdHVkaW/jgpLlho3otbfli5XjgabjgY/jgaDjgZXjgYTjgIIKCmBgYHtyIGVuY29kZX0Kc3lzdGVtKCJkZWZhdWx0cyB3cml0ZSBvcmcuUi1wcm9qZWN0LlIgZm9yY2UuTEFORyBlbl9VUy5VVEYtOCIpCmBgYAoKIyMg44OH44O844K/5YiG5p6Q44Gu5rqW5YKZCiMjIyDjg5Hjg4PjgrHjg7zjgrjjga7jgqTjg7Pjgrnjg4jjg7zjg6sKLSBgaW5zdGFsbC5wYWNrYWdlcygpYOOBp+ODkeODg+OCseODvOOCuOOCkuOCpOODs+OCueODiOODvOODq+OBl+OAgWBsaWJyYXJ5KClg44Gn44OR44OD44Kx44O844K444KS5ZG844Gz5Ye644GZCi0g44GT44GT44Gn44Gv5Lul5LiL44Gu44OR44OD44Kx44O844K444KS55So44GE44G+44GZ44CCCgpgYGB7ciBpbnN0YWxsIHBhY2thZ2VzLCBldmFsPUZBTFNFfQppbnN0YWxsLnBhY2thZ2VzKCJkcGx5ciIpCmluc3RhbGwucGFja2FnZXMoIm1hZ3JpdHRyIikKaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpCmBgYAoKYGBge3IgbGlicmFyeSwgZXZhbD1GQUxTRX0KbGlicmFyeShkcGx5cikKbGlicmFyeShtYWdyaXR0cikKbGlicmFyeShnZ3Bsb3QyKQpgYGAKCi0g44OR44Kk44OXYCU+JWDjga7lhKrlhYjpoIbkvY3jgpLpq5jjgoHjgb7jgZnjgIIKYGBge3IgcGlwZV9wcmlvcml0aXplfQpuZWVkczo6cHJpb3JpdGl6ZShtYWdyaXR0cikKYGBgCgoKIyMjIOODh+ODvOOCv+OBruODgOOCpuODs+ODreODvOODiQotIOa8lOe/kuOBp+eUqOOBhOOCi+ODh+ODvOOCv+OBr1vjgZPjgZNdKGh0dHA6Ly93ZWIuc2ZjLmtlaW8uYWMuanAvfm1hdW56L0RTQjE5L0RTQmRhdGEuemlwKeOBi+OCieODgOOCpuODs+ODreODvOODieOBl+OBpuOBj+OBoOOBleOBhOOAggoKIyMjIOS9nOalreeUqOODleOCqeODq+ODgOOBruaMh+WumgotIOODgOOCpuODs+ODreODvOODieOBl+OBn3ppcOODleOCoeOCpOODq+OCkuino+WHjeOBl+OAgeS9nOaIkOOBleOCjOOBn+ODleOCqeODq+ODgOOCkuS9nOalreeUqOODleOCqeODq+ODgOOBqOOBl+OBpuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAgmBzZXR3ZCgpYOmWouaVsOOCkuS9v+OBhuOBquOBqeOBl+OBpuOAgeS9nOalreeUqOODleOCqeODq+ODgOOCkuaMh+WumuOBp+OBjeOBvuOBmeOAguS+i+OBiOOBsOOAgUhE44Gu55u05LiL44GrYERTQmRhdGFg44OV44Kp44Or44OA44KS5L2c5oiQ44GX44Gf5aC05ZCI44Gv5Lul5LiL44Gu44KI44GG44Gr44Gq44KK44G+44GZ44CCCgpgYGB7ciBzZXRlbnYxLCBlY2hvPVRSVUUsIGV2YWw9RkFMU0V9CnNldHdkKCJ+L0RTQmRhdGEiKQpgYGAKCmBgYHtyIHNldGVudjIsIGVjaG89VFJVRSwgZXZhbD1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgaW5jbHVkZT1GQUxTRX0Kc2V0d2QoIn4vR29vZ2xlIERyaXZlIEZpbGUgU3RyZWFtL+ODnuOCpOODiOOCmeODqeOCpOODleOCmS9MZWN0dXJlICYgRXhjZWNpc2UvMjAxOV8yMDRf56eL44O757Wx6KiI6Kej5p6QL+aOiOalreizh+aWmVJtZF8yMDE5MDgwOS9EU0JkYXRhIikKYGBgCgojIyMg44OH44O844K/44Gu6Kqt44G/6L6844G/Ci0g44CO5a626KiI6Kq/5p+744CPMjAxN+W5tDnmnIjjgIHnrKzvvJLiiJLvvJbooajjgIzlubTplpPlj47lhaXpmo7ntJrliKXvvJHkuJbluK/lvZPjgZ/jgorvvJHjgYvmnIjplpPjga7lj47lhaXjgajmlK/lh7rjgI3jgYvjgonkvZzmiJDjgZfjgZ/miYDlvpfpmo7ntJrjgajmlK/lh7rjga7jg4fjg7zjgr9ga2FrZWkyMDE3MDlfbDE4LmNzdmDjgpLnlKjjgYTjgb7jgZnjgIIKLSDjgZPjgZPjgafjga/jgIFgcmVhZC5jc3YoKWDplqLmlbDjgpLkvb/jgaPjgabjgIFDU1bjg5XjgqHjgqTjg6vjgpLoqq3jgb/ovrzjgb/jgb7jgZnjgIIKCmBgYHtyIHJlYWRkYXRhMSwgZWNobz1UUlVFLCBldmFsPUZBTFNFLCBtZXNzYWdlPVRSVUUsIHdhcm5pbmc9VFJVRX0Ka2FrZWkgPC0gcmVhZC5jc3YoImtha2VpMjAxNzA5X2wxOC5jc3YiLCBoZWFkZXI9VFJVRSwgc2VwPSIsIikKYGBgCgpgYGB7ciByZWFkZGF0YTIsIGVjaG89RkFMU0UsIGV2YWw9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0Ka2FrZWkgPC0gcmVhZC5jc3YoIn4vR29vZ2xlIERyaXZlIEZpbGUgU3RyZWFtL+ODnuOCpOODiOOCmeODqeOCpOODleOCmS9MZWN0dXJlICYgRXhjZWNpc2UvMjAxOV8yMDRf56eL44O757Wx6KiI6Kej5p6QL+aOiOalreizh+aWmVJtZF8yMDE5MDgwOS9EU0JkYXRhL2tha2VpMjAxNzA5X2wxOC5jc3YiLCBoZWFkZXI9VFJVRSwgc2VwPSIsIikKYGBgCgotIGBnZ3Bsb3QyYOOBrmBnZ3Bsb3QoKWDplqLmlbDjgpLkvb/jgaPjgabmlaPluIPlm7PjgpLmj4/jgY3jgb7jgZnjgIIKYGBge3IgcGxvdDEsIGZpZy5oZWlnaHQ9MS41LCBmaWcud2lkdGg9MS41fQpnIDwtIGdncGxvdDI6OmdncGxvdChrYWtlaSwgYWVzKHg9SU5DMSwgeT1DT05TMSkpCmcgKyBnZW9tX3BvaW50KCkgKyB4bGFiKCJJbmNvbWUgKDEwMDAgeWVuKSIpICsgeWxhYigiQ29uc3VtcHRpb24gKDEwMDAwIHllbikiKQpgYGAKCiMjIOWbnuW4sOWIhuaekAojIyMg5Y2Y5Zue5biw5YiG5p6QCi0gYGxtKClg6Zai5pWw44KS5L2/44Gj44Gm44CB57ea5b2i5Zue5biw44Oi44OH44Or77yI5Y2Y5Zue5biw44Oi44OH44Or77yJ44KS5pyA5bCP5LqM5LmX5o6o5a6a44GX44G+44GZ44CCCi0g44Gd44Gu57WQ5p6c44Gv44CB5Lul5LiL44Gu44KI44GG44Gr6KGo56S644GV44KM44G+44GZ44CCCmBgYHtyIGxtMSwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPVRSVUV9Cmtha2VpLmxtMSA8LSBsbShDT05TMX5JTkMxLCBkYXRhPWtha2VpKQpzdW1tYXJ5KGtha2VpLmxtMSkKYGBgCgotIOaVo+W4g+Wbs+OBq+WbnuW4sOebtOe3muOCkumHjeOBreaPj+OBjeOBl+OBvuOBmeOAggpgYGB7ciBwbG90MiwgZmlnLmhlaWdodD0xLjUsIGZpZy53aWR0aD0xLjV9CmcgPC0gZ2dwbG90Mjo6Z2dwbG90KGtha2VpLCBhZXMoeD1JTkMxLCB5PUNPTlMxKSkgKwogIGdlb21fcG9pbnQoKSArIHhsYWIoIkluY29tZSAoMTAwMCB5ZW4pIikgKyB5bGFiKCJDb25zdW1wdGlvbiAoMTAwMDAgeWVuKSIpCmcgKyBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iKQpgYGAKCuS7peS4iuOBp+S7iuWbnuOBrua8lOe/kuOBr+e1guS6huOBp+OBmeOAggoK