■ 分析前にやっておくこと
(1) Rのインストール
(2) 作業ディレクトリの確認と変更をしておく
(3) 作業ディレクトリにデータを入れておく
(4) 必要なパッケージをインストールしておく
■ データの読み込み
書籍使用データ(右クリックで「別名で保存」して作業ディレクトリに入れる)
dat <- read.csv("ch10reg.csv", header=TRUE, fileEncoding="CP932") # fileEncoding="CP932"はMacの場合入れる
もしくは,Excel を開いてデータ範囲をコピーしてから読み込む
(クリップボードからのデータ読み込み)
Macの場合
dat <- read.table(pipe("pbpaste"), header=TRUE) # header=TRUEで変数名を含む,FALSEにすると含まない
Windowsの場合
dat <- read.table("clipboard", header=TRUE) # header=TRUEで変数名を含む,FALSEにすると含まない
■ 変数間の相関係数の確認
cor(dat)
散布図作成
par(family="HiraKakuPro-W3") #Macで日本語表示する plot(dat)
# psychパッケージを使って散布図作成(相関係数,ヒストグラム,回帰直線) library(psych) par(family="HiraKakuPro-W3") #Macで日本語表示する pairs.panels(dat)
■ 単回帰分析の実行
reg <- lm(TOEIC~語彙テスト, dat) summary(reg)
回帰直線入り散布図作成
par(family="HiraKakuPro-W3") #Macで日本語表示する attach(dat) plot(語彙テスト, TOEIC) abline(reg, col="red")
■ 重回帰分析の実行
result <- lm(TOEIC~語彙テスト+文法テスト+発音テスト, dat) summary(result) # 標準偏回帰係数(β)を求める z <- scale(dat) # 得点を標準化 z <- data.frame(z) # データフレーム形式に戻す summary(lm(TOEIC~語彙テスト+文法テスト+発音テスト, z)) # これで出力される結果の Estimate の部分が標準化係数ベータ # VIFの表示とモデル選択 library(car) # carパッケージを使用 vif(result) # VIF>10だと多重共線性に問題あり。<2なら問題なし。
※重回帰分析に入れるべき変数の選択
AIC(Akaike’s Information Criterion: 赤池情報量基準)を比較してモデル選択
参考 http://mjin.doshisha.ac.jp/R/14.pdf
model <- step(result) # 関数stepで最もAICが低くなるモデルを確認 model summary(model) #選ばれたもっとも良いモデルとなる変数を使って回帰分析
結果を見ると,今回はすべての変数を使ったモデルが,当てはまりが
もっとも良いということがわかる。
■ Rcommanderを使う場合
library(Rcmdr) # Rcommanderパッケージの読み込み
コンソールでデータの読み込みができている場合は,
<アクティブデータセットなし>をクリックし,datを選択。
参照 Rコマンダーでデータを読み込む場合
記述統計と相関係数
(1) 記述統計は,[統計量]→[要約]→[数値による要約]を選ぶ。
(2) 相関係数は,[統計量]→[要約]→[相関行列]で変数を選択する。
(3) 散布図は,[グラフ]→[散布図行列]で変数を選択する。
「対角位置に」で「ヒストグラム」を選択しておけば,
ヒストグラムを表示する事が可能。
回帰分析の実行
(1) [統計量]→[モデルへの適合]→[線形回帰]を選び,「目的変数」は
TOEIC,「説明変数」はその他の変数を選択しOKをクリック。
(単回帰分析の場合は,説明変数は1つのみ。)
(2) 標準偏回帰係数(β)を求める場合は,[データ]→[アクティブデータ
セット内の変数の管理]→[変数の標準化]から,すべての変数を選択し,
OKをクリック。再度, [統計量]→[モデルへの適合]→[線形回帰]を選び,
「目的変数」はZ.TOEIC,「説明変数」はその他のZ.のついた変数を
選択しOKをクリック。
(3) VIF計算やモデルの選択は,コンソールを使って行う。