gpt4 book ai didi

r - lavaan 错误 - 没有计算标准错误 - R

转载 作者:行者123 更新时间:2023-12-04 17:24:56 26 4
gpt4 key购买 nike

我已经创建了一份问卷。该问卷由四个子量表组成,测量我感兴趣的变量的 4 个不同组成部分。每个子量表由 3 个项目组成。每个项目都是 6 分制(然后每个项目的回答都在 1 到 6 之间)。

这是我的数据示例,每一行都是一个主题:

> dput(DF[1:10, 7:18 ]) 
structure(list(I1 = c(3, 6, 6, 4, 5, 5, 3, 3, 5, 4), I2 = c(3,
5, 5, 6, 4, 5, 2, 5, 5, 4), I3 = c(1, 4, 2, 3, 3, 4, 4, 1, 5,
2), I4 = c(5, 6, 6, 6, 5, 6, 6, 6, 6, 6), I5 = c(5, 6, 5, 5,
6, 6, 5, 6, 5, 5), I6 = c(4, 6, 6, 6, 5, 5, 6, 4, 5, 4), I7 = c(3,
6, 5, 6, 4, 4, 3, 5, 3, 4), I8 = c(4, 6, 5, 5, 4, 4, 3, 5, 3,
5), I9 = c(4, 6, 4, 4, 5, 5, 5, 4, 4, 3), I10 = c(2, 4, 5, 6,
3, 2, 4, 1, 2, 4), I11 = c(3, 3, 4, 6, 4, 6, 5, 5, 2, 3), I12 = c(3,
6, 6, 6, 5, 4, 4, 4, 5, 5)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))

217 名参与者完成了这份问卷(没有缺失值),我想用 CFA 测试我的数据是否支持我的模型。

这是我的代码:

library(lavaan)

model <- "
Factor1 =~ I1 + I2 + I3
Factor2 =~ I4 + I5 + I6
Factor3 =~ I7 + I8 + I9
Factor4 =~ I10 + I11 + I12
"

fit <- cfa(model, data = DF)
summary(fit, fit.measures = TRUE, standardized = TRUE)

但是当我运行它的时候,出现如下错误,我不明白为什么。这是错误消息:

lavaan WARNING: the optimizer warns that a solution has NOT beenfound!
lavaan WARNING: the optimizer warns that a solution has NOT beenfound!
lavaan WARNING:Could not compute standard errors! The information matrix couldnot be inverted. This may be a symptom that the model is notidentified.
lavaan WARNING: some estimated ov variances are negative
lavaan WARNING: covariance matrix of latent variables
is not positive definite;use lavInspect(fit, "cov.lv") to investigate.

这是我对 lavInspect 的看法:

> lavInspect(fit, "cov.lv")
Factr1 Factr2 Factr3 Factr4
Factor1 7797.062
Factor2 0.248 0.451
Factor3 0.215 0.182 0.289
Factor4 -0.254 -0.159 0.280 9883.238

知道因子 1 和因子 4 的这个巨大的 cov 可以用 lavaan 显示的 I1 (-7795.413) 和 I10 (-9881.204) 的非常高的方差来解释,但是如果我直接向 R 询问 var(DF$I1)和 var(DF$I10),结果大不相同。

Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.I1 -7795.413 NA -7795.413 -4729.827
.I2 1.684 NA 1.684 1.000
.I3 1.535 NA 1.535 1.000
.I4 0.807 NA 0.807 0.641
.I6 1.859 NA 1.859 0.884
.I7 1.370 NA 1.370 0.826
.I8 1.201 NA 1.201 0.832
.I9 1.681 NA 1.681 0.950
.I10 -9881.204 NA -9881.204 -4859.350
.I11 2.215 NA 2.215 1.000
.I12 0.784 NA 0.784 1.000


> var(DF$I1)
[1] 1.683052
> var(DF$I10)
[1] 1.966163




有谁知道为什么它不起作用?是因为我的模型不够适合我的数据吗?

提前致谢!

最佳答案

看看这个lavaan discussion .因子方差数以千计,而其他因子方差小于 1 往往会给估计过程带来问题。

我假设某些变量(尤其是因子 1 和 4 的变量)的范围为 1 到 50,而其他变量的范围可能为 1 到 5。如果是这种情况,我建议您将变量转换为相同的变量CFA 估计之前的 margin ,例如,

vars <- c("I1", "I2", "I3", "I10", "I11", "I12")
DF[, vars] <- DF[, vars] / 10

关于r - lavaan 错误 - 没有计算标准错误 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64049016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com