【发布时间】:2021-10-23 08:34:57
【问题描述】:
我正在尝试使用李克特量表数据运行心理测量工具的多组 CFA。我已将数据转换为序数,并根据同事的建议使用 WLSMV 估计和 theta 参数化。模型和初始 cfa 的代码如下所示。
model_ord <- ' depression =~ f1h09_ordinal+f1h16_ordinal+f1h17_ordinal+f1h18_ordinal+f1h35_ordinal+f1h50_ordinal
anxiety =~ f1h01_ordinal+f1h12_ordinal+f1h19_ordinal+f1h38_ordinal+f1h45_ordinal+f1h49_ordinal
somatization =~ f1h02_ordinal+f1h07_ordinal+f1h23_ordinal+f1h29_ordinal+f1h33_ordinal+f1h37_ordinal
depression~~anxiety
anxiety~~somatization
depression~~somatization'
"'# use the cfa function from the lavaan package to fit a CFA of our model
fit_ord <- cfa(model_ord, data=d_ord, estimator='WLSMV', std.lv=TRUE, parameterization="theta")"'
虽然我确实收到以下警告,但初始 cfa 运行良好。
Warning message:
In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
The variance-covariance matrix of the estimated parameters (vcov)
does not appear to be positive definite! The smallest eigenvalue
(= -1.030933e-16) is smaller than zero. This may be a symptom that
the model is not identified.
但是,当我按组将其分解时,我遇到了不同的问题(代码和错误消息如下)。
config_ord <- cfa(model_ord, data=d_ord, estimator='WLSMV', std.lv=TRUE, group="f103", parameterization="theta")
Error in lav_samplestats_step1(Y = Data, wt = wt, ov.names = ov.names, :
lavaan ERROR: some categories of variable `f1h35_ordinal' are empty in group 1; frequencies are [75 15 2 0 0]
问题是样本(第 1 组)中没有男性对第 35 项做出“相当多”或“非常”的回应,而低频正在破坏 cfa。有趣的是,当我使用不同的分组(如下)时,我得到了相同的错误消息,但 cfa 仍然运行。
config_ord2 <- cfa(model_ord2, data=d_ord, estimator='WLSMV', std.lv=TRUE, group="binaryrelationship", parameterization="theta")
Error in lav_samplestats_step1(Y = Data, wt = wt, ov.names = ov.names, :
lavaan ERROR: some categories of variable `f1h35_ordinal' are empty in group 1; frequencies are [98 22 4 3 0]
有谁知道为什么这会是一个分组而不是另一个分组的问题?我将如何解决这个问题?
【问题讨论】:
标签: r factor-analysis