SSブログ

【R】lavaanを使った多母集団同時分析 [データサイエンス、統計モデル]

共分散構造分析で多母集団同時分析をする方法について。
通常は、単一の母集団からサンプリングされたと仮定しますが、実際は、様々な集団(セグメント)を感がる必要があります。
性別の違い、年代の違いなど。

ただ、各セグメントごとにデータを分けてしまうと、サンプルサイズが小さくなってしまいます。
そこで、登場するのが多母集団同時分析です。
全体の構造は同じとみて、ここのセグメントごとに、係数を微調整するイメージです。

lavaanで多母集団同時分析をするには、
group = "*****"
で設定することができます。

# 分析モデル 1
通常の共分散構造分析

# 分析モデル 2
多母集団同時分析

########################################
library(lavaan)
library(psych)

#分析前にNA(欠測)を含む個体(対象者)を除外する
#リストワイズ削除
bfi2<-na.omit(bfi[ , c("A1", "A2", "A3", "A4", "A5", "gender")])

#変数に名前を付ける
colnames(bfi2)<-c("a1","a2","a3","a4","a5","gender")

#分析モデル 1
model <- '
A =~ a1 + a2 + a3 + a4 + a5
a1 ~~ a1;a2 ~~ a2;a3 ~~ a3;a4 ~~ a4;a5 ~~ a5
A ~~ 1*A
'
fit1 <- lavaan(model, data=bfi2)
summary(fit1, standardized=T, fit.measures = TRUE)

#分析モデル 2
fit2 <- lavaan(model, data=bfi2, group = "gender")
summary(fit2, standardized=T, fit.measures = TRUE)
########################################

nice!(3)  コメント(0) 
共通テーマ:学問