#確認的(検証的)因子分析をsem パッケージで行う
#データの読み込み、準備
data931 <- read.csv("Table931SDdata.csv")
data931
attach(data931)
data1 <- data931[3:13]#因子分析を行う変数
data1
detach(data931)
attach(data1)
#data1 逆転項目
#,10 YoukiInnki=-YoukiInnki
#,11 DoutekiSeiteki=-DoutekiSeiteki
#,3 KinntyoYurui=-KinntyoYurui
#,7 SukiKirai=-SukiKirai
data1[,3]=8-data1[,3]
data1[,7]=8-data1[,7]
data1[,10]=8-data1[,10]
data1[,11]=8-data1[,11]
#sem のインストール
install.packages("sem")
library("sem")
# 確認的因子分析モデル
model01 <- cfa()
f1: AkaruiKurai,JimiHade,NibuiSurudoi,SizukaSawagasii,YoukiInnki,DoutekiSeiteki # 測定方程式(活動性)
f2: AkaruiKurai,KinntyoYurui,KaruiOmoi,YoukiInnki # 測定方程式(力量)
f3: KitanaiUtsukusi,SukiKirai,WaruiYoi # 測定方程式(価値)
# 確認的因子分析 モデルの当てはめ
fit01 <- sem(model=model01,S=cov(data1),N=nrow(data1))
summary(fit01,fit.indices=c("GFI","AGFI","CFI","NFI","SRMR","RMSEA","AIC"))
standardizedCoefficients(fit01)
#以下は、RのバージョンがOSと合っていないとエラーが出ることがあります。
#その場合、Rをアップデートしてください。
#作図 フリーソフト Graphviz を使っています
install.packages("DiagrammeR")
# dot言語によるパス図の出力。
pathDiagram(fit01, ignore.double=FALSE, edge.labels="values", digits=2,standardize=TRUE)
#Graphvizがない場合でも、以下の方法で Graphvizと同じ作図が、Rのパッケージでできます。
#インストールは、それぞれおこなってください。
#それぞれ数分かかります。途中で質問 y/n ? が来たら、y を入力。
install.packages("DiagrammeR")
install.packages("scales")
#検証的因子分析のデータで実行した結果です。
#fit01 を作図するには、以下のようにします。
pathDiagram(fit01,standardize=TRUE, ignore.double=FALSE, edge.labels="values", digits=3, node.font=c("HGRGE", 10))
#図示の工夫:共通因子を並べるならば same.rank=c( " ") で指定
pathDiagram(fit01,standardize=TRUE, ignore.double=FALSE, edge.labels="values", digits=3, node.font=c("HGRGE", 10),same.rank=c("f1,f2,f3"), )
#その後の分析:モデル修正のための指標 modIndices()
modIndices(fit01)