■ 分析前にやっておくこと
(1) Rのインストール
(2) 作業ディレクトリの確認と変更をしておく
(3) 作業ディレクトリにデータを入れておく
(4) 必要なパッケージをインストールしておく
データの読み込み
書籍使用データ(右クリックで「別名で保存」して作業ディレクトリに入れる)
dat <- read.csv("ch12efa.csv", header=TRUE, fileEncoding="CP932") # fileEncoding="CP932"はMacの場合入れる dat <- dat[,-1] # IDの入っている一列目以外を指定
もしくは,Excel を開いてデータ範囲をコピーしてから読み込む
(クリップボードからのデータ読み込み)
Macの場合
dat <- read.table(pipe("pbpaste"), header=TRUE) # header=TRUEで変数名を含む,FALSEにすると含まない
Windowsの場合
dat <- read.table("clipboard", header=TRUE) # header=TRUEで変数名を含む,FALSEにすると含まない
記述統計
library(psych) # psychパッケージ使用 describe(dat)
その他はこちらを参照
変数間の相関係数の確認
cor(dat) round(cor(dat),3) # 小数点以下3桁で丸める
# psychパッケージを使って散布図作成(相関係数,ヒストグラム,回帰直線) library(psych) par(family="HiraKakuPro-W3") #Macで日本語表示する pairs.panels(dat)
スクリープロットを作図
VSS.scree(dat) #固有値の確認 corx <- cor(dat) eigen(corx)$values #説明された分散の%(寄与率) eigen(corx)$values/sum(eigen(corx)$values)
因子分析(最尤法・プロマックス回転)の実行
efa <- factanal(dat,factors=2,rotation="promax") # 因子数と回転の指定 common <- 1-efa$uniqueness common #共通性(因子抽出後) print(efa, cutoff=0)
※その他の因子推定法と回転方法はこちらを参照
青木繁伸先生のサイトにあるコードを使用して,因子負荷量で並べ替え
source("http://aoki2.si.gunma-u.ac.jp/R/src/sort.loadings.R", encoding="euc-jp") print(sort.loadings(efa), cutoff=0)
※ 因子負荷量や因子間相関はSPSSで最尤法,プロマックス回転を行ったものとは若干異なる。これはプログラミングによる違いによるもの。
因子負荷量を因子ごとにグラフ化
par(mfrow = c(1, 2)) # グラフを横に2つ並べる barplot(efa$loadings[,1], main="Factor1", ylim=c(0,1)) barplot(efa$loadings[,2], main="Factor2", ylim=c(0,1))
因子プロット
plot(efa$loadings[,1:2], type="n", xlim=c(-1,1), ylim=c(-1,1)) text(efa$loadings[,1:2], colnames(dat)) abline(v=0, lty=3) #0で縦に線を引き,破線(lty=3)を引く abline(h=0, lty=3) #0で横に線を引き,破線(lty=3)を引く
下位尺度得点と信頼性係数算出
attach(dat) f1 <- (item5 + item6 + item7 + item8)/4 #因子1の下位尺度得点 f2 <- (item1 + item2 + item3 + item4)/4 #因子2の下位尺度得点 library(psych) #psychパッケージ使用 describe(f1) #因子1の記述統計 describe(f2) #因子2の記述統計
dat <- cbind(dat, f1, f2) #因子1と2をデータフレームに追加 dat
library(psych) #psychパッケージ使用 f1.alpha <- alpha(data.frame(item5, item6, item7, item8)) f1.alpha #因子1の信頼性係数 f2.alpha <- alpha(data.frame(item1, item2, item3, item4)) f2.alpha #因子2の信頼性係数
■ Rcommanderを使う場合
library(Rcmdr) # Rcommanderパッケージの読み込み
コンソールでデータの読み込みができている場合は,
<アクティブデータセットなし>をクリックし,datを選択。
参照 Rコマンダーでデータを読み込む場合
記述統計と相関係数
(1) 記述統計は,[統計量]→[要約]→[数値による要約]を選ぶ。
(2) 相関係数は,[統計量]→[要約]→[相関行列]で変数を選択する。
固有値確認とスクリープロット作図
[統計量]→[次元解析]→[主成分分析]を選択し,変数を選択し,
スクリープロットにチェックを入れてOKをクリック。
(主成分分析は因子分析ではないが,ここでは固有値や
スクリープロット作図のために選択必要)
因子分析の実行
[統計量]→[次元解析]→[因子分析]で変数を選択して,「因子の回転」を
プロマックスにしてOKをクリックし,抽出する因子数を決めてOK。
下位尺度得点と信頼性係数算出
(1) 下位尺度得点は,[データ]→[アクティブデータセット内の変数の管理]
→[新しい変数を計算]を選択。「新しい変数名」に f1 などと入力し,
「計算式」には,(item5+ item6+ item7+ item8)/4 を入力しOKをクリック。
f2 についても,同じように計算する。
(2) 因子ごとの記述統計は,[統計量]→[要約]→[数値による要約]を選んで,
計算する変数を選択する。
(3) 信頼性係数は,[統計量]→[次元解析]→[スケールの信頼性]から,
下位尺度に含まれる変数を選択してOKをクリック。