作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以告诉我如何在结构方程模型的 lavaan
包的模型语句中编写潜在变量交互吗?
假设我有潜在变量L1
和一些观察到的变量F1
,并且想编码它们对某些结果Y
的相互作用影响:
L1 =~ x1 + x2
Y ~ L1 * F1
这不起作用。
提前致谢!
最佳答案
感谢重要的comment的John Madden我将区分适度(您可能正在寻找的东西)和调解。
对您问题的快速回答是:据我所知,没有 lavaan 集成的可能性来进行两个潜在变量的交互,但这是我的解决方法:
这里有一些解决方法的玩具代码 - 审核对这些数据没有任何意义(mtcars
位于 R 库中),并且会给您一个警告,但是该数据的结构工作流程应该清晰。
library(lavaan)
# 1. set up your measurement models
cfamodel <- "
#defining the latent variables
L1 =~ drat + wt
L2 =~ disp + hp
"
fitcfa <- cfa(data = mtcars, model = cfamodel)
# 2. extract the predicted values of the cfa and add them to the dataframe
semdata <- data.frame(mtcars, predict(fitcfa))
# create a new variable with the interaction of L1 and L2
semdata <- semdata %>%
mutate(L1L2 = L1 * L2)
# 3. now set up the regression and add the predefined interaction to the model
# a) regression with both latent variables and the interaction
semmodel1 <- "
# define regression
mpg ~ L1 + L2 + L1L2
"
fitsem1 <- sem(data = semdata, model = semmodel1)
summary(fitsem1)
# b) regression with only the interaction (does that even make sense? I don't know...)
semmodel2 <- "
# define regression
mpg ~ L1L2
"
fitsem2 <- sem(data = semdata, model = semmodel2)
summary(fitsem2)
对于中介,您需要定义一个新参数作为感兴趣的两个回归权重的乘积。在您的示例中,L1
作为潜在变量,F1
作为观察变量,Y
作为因变量,即:
# define Regressions (direct effect)
Y ~ lambda1*X
Y ~ lambda2*M
# define Regressions (effect on mediator)
M ~ X
# define Interaction
interac := lambda1*lambda2
fit <- sem(model, data = Data)
summary(fit)
lavaan 然后会给你一个交互的估计。
:=
运算符“定义新参数,其值是原始模型参数的任意函数。”示例取自:http://lavaan.ugent.be/tutorial/mediation.html
关于R Lavaan 编码潜在变量相互作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24399353/
我是一名优秀的程序员,十分优秀!