top of page

#確認的(検証的)因子分析を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: KinntyoYurui,KaruiOmoi # 測定方程式(力量)
   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))

bottom of page