簡體   English   中英

使用心理軟件包為SEM模擬數據

[英]Simulating Data for SEM with psych package

我正在使用psych軟件包模擬SEM(結構方程模型)的數據。 我使用了使用psych軟件包的第17頁上給出的代碼來生成和測試結構模型 該代碼是

library(psych)
set.seed(42)
fx <- matrix(c(0.9, 0.8, 0.7, rep(0, 9), 0.7, 0.6, 0.5, rep(0, 9), 0.6, 0.5, 0.4), ncol = 3)
rownames(fx) <- paste("x", 1:9, sep="")
fy <- matrix(c(0.6, 0.5, 0.4), ncol=1)
rownames(fy) <- paste("y", 1:3, sep="")
Phi  <- matrix(c(1, 0.48, 0.32, 0.4, 0.48, 1, 0.32, 0.3, 0.32, 0.32, 1, 0.2, 0.4, 0.3, 0.2, 1), ncol = 4)
twelveV <- sim.structure(fx=fx, Phi=Phi, fy=fy, n=100, raw=TRUE)
round(twelveV$model, 2)
round(twelveV$model-twelveV$r, 2)
twelveV$observed

然后,我嘗試使用sem包來分析模擬數據。 該代碼是

sem.mod <- structure.sem(twelveV$model)
library(sem)
sem.fit <- sem(sem.mod, twelveV$r, 100)

此代碼給出以下錯誤消息:

Error in solve.default(diag(m) - A) : 
  Lapack routine dgesv: system is exactly singular

我不是導致此錯誤的原因。 任何想法,評論和/或幫助將不勝感激。 謝謝

啊,那條錯誤消息是我一生的禍根。

從本質上講(我最終從R-幫助檔案收集,特別是在這里 ,這意味着在你的(至少)一個欄的信息可以從別人的一個衍生矩陣的冗余信息。

我認為這與共線性有關,但是我在這一點上可能是錯誤的。 在大多數情況下,刪除與其他對象之間最相關的列將解決此問題。

在實際的應用程序中,它是拋出一些問題或措施的信號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM