
①CLPM代码:
library(lavaan)
library(tidySEM)
data1 <- readr::read_csv('data1.csv')
#建立CLPM模型
CLPM <- '
# 路径系数
x2 ~ x1
m2 ~ a * x1
m2 ~ m1
y2 ~ m1
y3 ~ b * m2
x3 + m3 ~ x2
m3 + y3 ~ m2
y3 ~ c * x1
y2 ~ y1
y3 ~ y2
x1 + m1 + y1 ~ z1
x1 + m1 + y1 ~ z2
# 相关
x1 ~~ y1
x1 ~~ m1
m1 ~~ y1
# 方差
x1 ~~ x1
m1 ~~ m1
y1 ~~ y1
x2 ~~ x2
m2 ~~ m2
y2 ~~ y2
x3 ~~ x3
m3 ~~ m3
y3 ~~ y3
# 间接作用 (a*b)
ab := a*b
# 总效应
total := c + (a*b)
'
#出结果
fit <- sem(CLPM, data = data1)
summary(fit)
②RI-CLPM代码:
library(lavaan)
library(tidySEM)
data1 <- readr::read_csv('data1.csv')
RICLPM <- '
# 随机截距
RIx =~ 1*x1 + 1*x2 + 1*x3
RIy =~ 1*y1 + 1*y2 + 1*y3
RIm =~ 1*m1 + 1*m2 + 1*m3
# 路径系数
x2 ~ x1
m2 ~ a * x1
m2 ~ m1
y2 ~ b * m1
x3 + m3 ~ x2
m3 + y3 ~ m2
y3 ~ c * x1
y2 ~ y1
y3 ~ y2
x1 + m1 + y1 ~ z1
x1 + m1 + y1 ~ z2
# 个体内的变量设定
wx1 =~ 1*x1
wx2 =~ 1*x2
wx3 =~ 1*x3
wy1 =~ 1*y1
wy2 =~ 1*y2
wy3 =~ 1*y3
wm1 =~ 1*m1
wm2 =~ 1*m2
wm3 =~ 1*m3
# 个体内交叉滞后设定
wx2 + wy2 ~ wx1 + wy1
wx2 + wm2 ~ wx1 + wm1
wm2 + wy2 ~ wm1 + wy1
wx3 + wy3 ~ wx2 + wy2
wx3 + wm3 ~ wx2 + wm2
wm3 + wy3 ~ wm2 + wy2
# 个体内共变设定
wx1 ~~ wm1
wm1 ~~ wy1
wx2 ~~ wm2
wm2 ~~ wy2
wx3 ~~ wm3
wm3 ~~ wy3
# 随机截距的方差和共变
RIx ~~ RIx
RIy ~~ RIy
RIm ~~ RIm
RIx ~~ RIm
RIm ~~ RIy
# 个体内变量的方差
wx1 ~~ wx1
wy1 ~~ wy1
wm1 ~~ wm1
wx2 ~~ wx2
wy2 ~~ wy2
wm2 ~~ wm2
wx3 ~~ wx3
wy3 ~~ wy3
wm3 ~~ wm3
'
RICLPM.fit <- sem(RICLPM, data = data1, missing = 'ML', meanstructure = T, int.ov.free = T)
summary(RICLPM.fit)


雷达卡


京公网安备 11010802022788号







