我的问题陈述是找出影响净启动子得分的因素

我正在对样本数据使用lavaan包测试

下面是代码

library(lavaan)
age=c(24,56,34)
weight=c(76,55,66)
nps=c(9,4,5)
df=c(age,weight,nps)
mat1=matrix(c(cov(abs(scale(df)))),3,3,byrow=TRUE)
mod2 <- "weight ~ age \n        weight ~ nps"
mod1 <- "nps ~ age \n        nps ~ weight"
mat1=matrix(c(cor(abs(scale(df)))),3,3,byrow=TRUE)
colnames(mat1) <- rownames(mat1) <- c("age", "weight", "nps")
mod1fit <- sem(mod1, sample.cov = mat1, sample.nobs = 100)

从上面的示例中,任何人都可以帮助您了解nobs[Number of Observations=100]。通常在ML观察中会说到行数,但是我不知道nobs参数的含义。

我已经使用下面的链接来学习

https://www.jaredknowles.com/journal/2013/9/1/latent-variable-analysis-with-r-getting-setup-with-lavaan

当我运行上述代码时,出现如下错误
Error in lav_samplestats_icov(COV = cov[[g]], ridge = ridge, x.idx = x.idx[[g]],  :
  lavaan ERROR: sample covariance matrix is not positive-definite

最佳答案

lavaan手册(您可以通过R控制台中的命令?sem进行访问)指出,sample.nobs参数指向

如果缺少完整的数据框并且仅给出采样时刻,则观察次数。对于多组分析,需要一个列表或 vector 以及每个组的观察数。

考虑到错误消息:我不太确定您在尝试以下代码行是什么

mat1=matrix(c(cov(abs(scale(df)))),3,3,byrow=TRUE)

但是,这导致了一个看起来像这样的非正定样本协方差矩阵
> mat1
       age weight nps
age      1      1   1
weight   1      1   1
nps      1      1   1

如果ageweightnps是因子(您分别具有三个观测值),则
mat1 <- cor(data.frame(age,weight,nps))

可能会产生预期的协方差矩阵。

关于r - 在R潜变量分析中理解问题并得到错误的Lavaan包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60992115/

10-11 21:50