当我有 4 个或更多变量时,一切正常。但我认为 CFA 或 EFA 的最低要求是 3 个变量。当我运行代码时,它为所有估计其是否合适的参数提供 0。
为此,我将使用 USArrests
数据库。
library(lavaan)
d<- USArrests
abc <- 'abc =~ Murder + Assault + Rape'
fit <- lavaan::cfa(abc, data=d, missing = "FIML", estimator = "MLR")
summary(fit, fit.measures=TRUE)
这就是我遇到问题的地方。如果我向 abc
模型添加另一个变量(例如 UrbanPop
),则一切正常,我将能够获取 CFI、RMSEA 等。但有时我没有第四个,但仍然想看看它们是否合适。
4 个变量的结果
Model Test User Model:
Standard Robust
Comparative Fit Index (CFI) 0.910 0.923
RMSEA 0.281 0.221
SRMR 0.073 0.073
每次我使用 3 个变量时,无论数据帧如何,我都会得到:
Model Test Baseline Model:
Comparative Fit Index (CFI) 1.000 1.000
RMSEA 0.000 0.000
SRMR 0.000 0.000
谢谢!
最佳答案
I thought the minimum for a CFA or EFA was 3 variables. When I run the code, it gives me 0's for all the parameters that estimate if it's a good fit
当没有错误关联时,具有 3 个指标的 1 因素 CFA 被刚刚识别 (df = 0)。如果df = 0,则您的模型不会为数据提供伪造模型的机会。因此,拟合统计量为 0,因为在刚刚识别的模型中拟合是(任意)完美的。介绍性 SEM/CFA 教科书更详细地讨论了识别和拟合,例如,
布朗,T.A.(2015)。 应用研究的验证性因素分析。吉尔福德。
关于r - 为什么我不能在 R 上使用 lavaan 进行 3 变量 CFA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74131238/