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

如何在lavaan模型输出摘要中关闭变量名称缩写?

关闭lavaan模型摘要中的变量名自动缩写

问题描述

使用lavaan包生成模型输出摘要时,长变量名会被自动缩短。实际数据中部分长变量名仅相差一个字符或数字,完整显示变量名将更便于区分,但在lavaan官方文档中未找到直接关闭该功能的设置参数。

示例代码及输出:

library(lavaan)

# 重命名变量
names(mtcars)[names(mtcars) == "mpg"] <- "An_Incredibly_Long_Variable_Name"
names(mtcars)[names(mtcars) == "hp"] <- "An_Even_Longer_Longer_Longer_Name"
names(mtcars)[names(mtcars) == "gear"] <- "VeryVeryVeryLong"
names(mtcars)[names(mtcars) == "cyl"] <- "LongLongLongLong"

# 构建模型
model <- 'An_Incredibly_Long_Variable_Name ~ An_Even_Longer_Longer_Longer_Name + VeryVeryVeryLong + LongLongLongLong'
fit <- sem(model, "std", data = mtcars)
summary(fit)
#> lavaan 0.6.14 ended normally after 18 iterations
#> 
#>   Estimator                                       DWLS
#>   Optimization method                           NLMINB
#>   Number of model parameters                         5
#> 
#>   Number of observations                            32
#> 
#> Model Test User Model:
#>                                               Standard      Scaled
#>   Test Statistic                                 0.000       0.000
#>   Degrees of freedom                                 0           0
#> 
#> Parameter Estimates:
#> 
#>   Standard errors                           Robust.sem
#>   Information                                 Expected
#>   Information saturated (h1) model        Unstructured
#> 
#> Regressions:
#>                                      Estimate  Std.Err  z-value  P(>|z|)
#>   An_Incredibly_Long_Variable_Name ~                                    
#>     An_Evn_L_L_L_N                     -0.039    0.012   -3.264    0.001
#>     VeryVeryVryLng                      2.023    0.693    2.920    0.003
#>     LongLongLngLng                     -1.208    0.563   -2.146    0.032
#> 
#> Intercepts:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>    .An_Incrd_L_V_N   25.869    4.310    6.001    0.000
#> 
#> Variances:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>    .An_Incrd_L_V_N    8.318    1.929    4.312    0.000

解决方法

方法1:提取完整参数并自定义打印宽度

使用parameterEstimates()函数获取包含完整变量名的参数结果,再通过print()的width参数强制显示完整内容:

# 提取完整参数估计表
full_estimates <- parameterEstimates(fit)
# 设置无限宽度以显示完整变量名
print(full_estimates, width = Inf)

方法2:调整全局打印宽度

如果需要保留summary()的输出格式,可先调整R的全局输出宽度,让lavaan有足够空间显示完整变量名:

# 设置全局输出宽度为200(可根据变量名长度调整)
options(width = 200)
# 再次输出摘要
summary(fit)

内容的提问来源于stack exchange,提问作者jrcalabrese

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:45:24