Yoshi Nishikawa's Blog

データと知識、その調和平均。

psych packageを用いた心理尺度開発・因子分析

尺度開発

尺度開発の手順

測定概念の決定 construct validity
項目作成content validity
パイロット調査→微調整
本調査
各項目の基礎統計量確認
因子分析 factorial validity
信頼性係数の推定
criterion-related validity

R

Scree Plot

psychというpackageが存在する。 大学で使う機会があったので、まとめておく。

data1<-matrix(floor(runif(25*250, min=0, max=5)), nc=25, nr=250) #乱数発生させて、25人に0-4の250項目を回答してもらった表を作る。
library(psych)
head(data1)
summary(data1)
cor1<-cor(data1)
eigen1 <- eigen(cor1)$values
eigen1
plot(eigen1, type="b", main="Scree Plot") #plot()を用いる。
VSS.scree(data1) #VSS.scree()を用いる。

f:id:yoshi_nishikawa:20160805124052p:plain f:id:yoshi_nishikawa:20160805124147p:plain

VSS.scree()でサクッとスクリープロットが描ける。

主成分分析

最尤法で因子抽出を行い、promax回転(斜行解)を指示。

result1<-fa(data1, nfactors=2, fm="ml", rotate="promax")
print(result1, sort=TRUE)

信頼性の評価

Cronbachのα係数
Test-Retest reliability
折半法

psychパッケージを用いると、alpha()によりCronbachのα係数が算出され、信頼性評価ができる。

alpha(data1)

並行分析

fa.parallel(data1)

f:id:yoshi_nishikawa:20160805123811p:plain

factanalを用いてVarimax and Promax

psych使わず標準装備のfactanalで分析すると以下のようになる。

fit00 <- factanal(x=data1, factors=2, rotation="none")
print(fit00, cutoff=0)
fit01 <- factanal(x=data1, factors=2, rotation="varimax")
print(fit01, cutoff=0)
fit02 <- factanal(x=data1, factors=2, rotation="promax")
print(fit02, cutoff=0)