如何让lavaanPlot展示观测变量与潜变量的误差项方差?
关于lavaanPlot展示误差项方差的问题
我尝试修改下方代码,使生成的图形能够展示观测变量与潜变量的误差项方差,请问lavaanPlot是否提供该功能选项?
# Load libraries: library(dplyr) library(lavaan) # Create variables: var1 <- rnorm(10, 5, 1) var2 <- rnorm(10, 5, 1) var3 <- rnorm(10, 5, 1) # Create dataframe: df <- tibble(var1, var2, var3) # Define CFA model: latent_var <- "latent_var =~ var1 + var2 + var3" # Fit CFA model, ignoring warnings: cfa_mod <- cfa(latent_var, df) # Summarise, specifying standardised factor loadings: summary(cfa_mod, standardized = TRUE) # Load libraries: library(lavaanPlot) # Plot model, specifying coefficient labels lavaanPlot(model = cfa_mod, node_options = list(shape = "box", fontname = "Helvetica", fontsize=18), edge_options = list(color = "black"), coefs = TRUE, covs = TRUE, stand = TRUE, graph_options = list(rankdir = "RL"))
lavaanPlot支持展示误差项及其方差,只需调整模型定义和绘图参数就能实现:
- 显式声明误差方差:虽然lavaan会自动观测变量的误差方差,但显式在模型中声明这些项,能确保lavaanPlot识别并展示它们。修改模型定义如下:
# 定义包含显式误差方差的CFA模型 latent_var <- "latent_var =~ var1 + var2 + var3 # 声明每个观测变量的误差方差(lavaan会自动估计数值) var1 ~~ var1 var2 ~~ var2 var3 ~~ var3"
- 调整lavaanPlot参数:在绘图时添加
errors = TRUE参数开启误差节点显示,同时保留coefs = TRUE让误差方差的数值标注在图中。修改后的绘图代码:
# 绘制包含误差项及方差的模型图 lavaanPlot(model = cfa_mod, node_options = list(shape = "box", fontname = "Helvetica", fontsize=18), edge_options = list(color = "black"), coefs = TRUE, covs = TRUE, stand = TRUE, errors = TRUE, # 开启误差节点显示 graph_options = list(rankdir = "RL"))
生成的图会显示每个观测变量的误差节点(椭圆形),并标注对应的误差方差值(以自环或边标签形式呈现)。
内容的提问来源于stack exchange,提问作者Nader Mehri
相关产品推荐
相关产品推荐

