繁体   English   中英

在 R 潜在变量分析中理解问题并得到错误 Lavaan 包

[英]In R Latent Variable Analysis understanding problem and get error Lavaan package

我的问题陈述是确定影响净推荐值的因素

我正在使用带有示例数据的 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手册(您可以通过命令?sem从 R 控制台中访问)指出参数sample.nobs指的是

如果缺少完整数据框且仅给出样本矩,则观察次数。 对于多组分析,包含每个组的观察数的列表或向量。

考虑到错误消息:我不太确定您要使用以下代码行实现什么

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 , weightnps是因素(对于它们每个都有三个观察值),那么

mat1 <- cor(data.frame(age,weight,nps))

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM