You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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支持展示误差项及其方差,只需调整模型定义和绘图参数就能实现:

  1. 显式声明误差方差:虽然lavaan会自动观测变量的误差方差,但显式在模型中声明这些项,能确保lavaanPlot识别并展示它们。修改模型定义如下:
# 定义包含显式误差方差的CFA模型
latent_var <-
  "latent_var =~ var1 + var2 + var3
   # 声明每个观测变量的误差方差(lavaan会自动估计数值)
   var1 ~~ var1
   var2 ~~ var2
   var3 ~~ var3"
  1. 调整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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 20:02:35