R中路径图

3
我正在尝试使用 R 绘制结构方程模型(SEM)的路径图。我已经成功地使用semPlot::semPaths()进行了绘制,输出结果类似于enter image description here。该 SEM 是使用lavaan包建模的。
我想要一个类似于enter image description here的图,它包含估计值和p值。有人能帮帮我吗?
2个回答

1

我建议使用lavaanPlot(在作者的个人网站上可以了解更多信息):

library(lavaan)
library(lavaanPlot)
# path model
model <- 'mpg ~ cyl + disp + hp
          qsec ~ disp + hp + wt'

fit1 <- sem(model, data = mtcars)
labels1 <- list(mpg = "Miles Per Gallon", cyl = "Cylinders", disp = "Displacement", hp = "Horsepower", qsec = "Speed", wt = "Weight") #define labels
lavaanPlot(model = fit1, labels = labels1, coefs = TRUE, stand = TRUE, sig = 0.05) #standardized regression paths, showing only paths with p<= .05

enter image description here


我的模型,sem_protein <- sem(model1, data = data1,estimator="DWLS")。这个模型没有任何错误。summary(sem_protein) lavaan 0.6-8 在231次迭代后正常结束 估计器 DWLS 优化方法 NLMINB 自由参数数量 48 已使用 总数 观测数量 151977 224714 - Stat009
只需尝试:lavaanPlot(model = fit_your_model),然后使用您自己的模型即可。如果您想使用标签,必须相应地定义它们。 - Sinval
成功了。我有许多外生分类变量,其中有超过2个类别。我用k-1个虚拟变量替换了它们,并得到了估计值。然而,在lavaanPlot中,对于k-1个虚拟变量,我有k-1个矩形。由于我有许多要虚拟编码的变量,绘图看起来不太好。有没有什么方法可以解决这个问题? - Stat009
以下是示例代码;`WI=rep(c("WI1","WI2","WI3","WI4","WI5"),10) ED=c(rep("ED1",15 ), rep("ED2",7), rep("ED3",8), rep("ED4",20)) Price=rnorm(50,70,5) Dem=rnorm(50,120,5) Status=round(runif(50,0,1),0) df=data.frame(WI,ED,Price,Status,Dem)df_1 = cbind(df, dummy.code(df$WI)) df_1 = cbind(df_1, dummy.code(df$ED))

路径模型

model <- 'Price ~ WI2+WI3+WI4+WI5 Dem ~ ED2+ED3+ED4 Status ~ Price +Dem ' fit1 <- sem(model, data = df_1) lavaanPlot(model = fit1,coefs = TRUE)`
- Stat009
如果这个代码解决了你的问题,请将其标记为已解决。lavaanPlot(model = fit1, graph_options = list(layout="dot",rankdir = "LR"), coefs=T, stand=T) - Sinval
显示剩余3条评论


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接