井出草平の研究ノート

lavaanの結果をcsvで書きだす[R][lavaan]

psychパッケージのbfiデータを読み込む

library("psych")
data(bfi)

lavaanパッケージでbfiデータを用い、因子分析と回帰分析を含む分析を行う

library("lavaan")
model = '
        Neuroticism =~ N1 + N2 + N3 + N4 + N5
        Extraversion =~ E1 + E2 + E3 + E4 + E5
        Neuroticism ~ gender + education + age
        Neuroticism ~~ Extraversion
        '
fit = cfa(model, data = bfi)
summary(fit, fit.measures = TRUE)

パラメータ推定結果の取得

params <- parameterEstimates(fit)

潜在変数関連のパラメータだけを抽出

# 潜在変数関連のパラメータの抽出
latent_vars <- params[params$op == "=~", ]
print(latent_vars)

共分散関連のパラメータの抽出

covariances <- params[params$op == "~~", ]
print(covariances)

回帰係数関連のパラメータだけを抽出

regressions <- params[params$op == "~", ]
print(regressions)

回帰係数関連のパラルータをcsvで書きだす

write.csv(regressions, file = "regressions.csv")

semplot

library("semPlot")
semPaths(fit, what = "std", edge.label.cex = 0.75, layout = "tree")