在包predict
中将lavaan
用于拟合模型时,我们可以获得因子得分( fscores )。但是,默认情况下,所有这些 fscores 的平均值为0
(即居中)。
我想知道如何从lavaan
包中获得 fscores 的“非中心” 版本?
以下是可复制的数据和R代码:
set.seed(0)
D <- mapply(sample, 6, rep(18, 6), T) # DATA
colnames(D) <- paste0("v", 1:6)
library(lavaan) # MODEL
m1 <- " f1 = ~v1+v2+v3
f2 = ~v4+v5+v6 "
fit1 <- cfa(m1, data = D) # RUN lavaan
fscore <- data.frame(predict(fit1)) # Get fscores
round(c(f1.mean = mean(fscore$f1), f1.sd = sd(fscore$f1), f2.mean = mean(fscore$f2), f2.sd = sd(fscore$f2)), 3)
#> f1.mean f1.sd f2.mean f2.sd ## Notice both f1 and f2 have a mean of ZERO.
0.000 0.511 0.000 2.141