簡體   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