我的问题陈述是找出影响净启动子得分的因素
我正在对样本数据使用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
如果
age
,weight
和nps
是因子(您分别具有三个观测值),则mat1 <- cor(data.frame(age,weight,nps))
可能会产生预期的协方差矩阵。
关于r - 在R潜变量分析中理解问题并得到错误的Lavaan包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60992115/