【发布时间】:2020-10-15 14:26:34
【问题描述】:
我对 R 的 lavaan 包的行为感到困惑。我正在尝试估计两个观察到的变量的方差和协方差。
这是数据:
bd <- data.frame(
Group = c(1L,1L,1L,1L,1L,1L,1L,1L,1L,1L,1L,
3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,2L,
2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,
2L),
HIP_D = c(2763,3241.5,2740.5,3318,3501,3634.5,
4324.5,2970,3168,3307.5,3145.5,3639,3325.5,3295.5,3066,
3711,2488.5,3333,3138,2752.5,3096,2785.5,3204,3781.5,
3207,2742,3082.5,2665.5,2737.5,2664,2743.5,2695.5,3244.5,
3024,2422.5,1605,2943,2314.5,2971.5,3187,2673,3024,
2992.5),
HIP_E = c(2505,3292.5,2646.7,3457.5,3505.5,
3628.5,4152,2686.5,2943,2913,3283.5,3546,3172.5,3090,3211.5,
3880.5,1725,3147,3055.5,2776.5,2904,2785.5,3159,
3418.5,3240,2334,2634,2370,2736,2503.5,2325,2409,3057,
2692.5,2443.5,1645.5,2922,1818,2679,2742,2465.5,2911.5,
2890.5)
)
我的代码如下:
modVL <- '
HIP_D ~~ HIP_D
HIP_E ~~ HIP_E
HIP_D ~~ HIP_E
'
library(lavaan)
fitVL <- sem(modVL, data=bd, likelihood = "wishart", orthogonal = FALSE)
summary(fitVL, standardize=T)
输出是:
lavaan 0.6-7 ended normally after 8 iterations
Estimator ML
Optimization method NLMINB
Number of free parameters 3
Number of observations 43
Model Test User Model:
Test statistic 81.564
Degrees of freedom 0
Parameter Estimates:
Standard errors Standard
Information Expected
Information saturated (h1) model Structured
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
HIP_D ~~
HIP_E 0.000 36570.317 0.000 1.000 0.000 0.000
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
HIP_D 203990.618 44514.402 4.583 0.000 203990.618 1.000
HIP_E 275357.264 60087.881 4.583 0.000 275357.264 1.000
现在,两个变量(HIP_D 和 HIP_E)的相关性非常强:
correlation::correlation(bd)
Parameter1 | Parameter2 | r | 95% CI | t | df | p | Method | n_Obs
-------------------------------------------------------------------------------------
HIP_D | HIP_E | 0.93 | [0.87, 0.96] | 15.65 | 41 | < .001 | Pearson | 43
所以,协方差不可能为零!...我对 lavaan 如何将协方差强制为零感到困惑?
有什么想法吗?
谢谢!
【问题讨论】:
标签: r covariance