Rを使った分析(重回帰分析)

■ 分析前にやっておくこと

(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計算やモデルの選択は,コンソールを使って行う。