我尝试在元分析路径模型中估计参数,其中A - > B - > C(完全中介)基于metaSem
中的相关矩阵列表。
我的A1
矩阵如下:
A1 <- create.mxMatrix(c(0, 0, 0,
indep2med, 0, 0,
0, med2dep, 0),
type="Full", byrow=TRUE, ncol=3, nrow=3,
as.mxMatrix=TRUE)
dimnames(A1)[[1]] <- dimnames(A1)[[2]] <- variable.labels
我的S1
矩阵如下:
S1 <- create.mxMatrix(c("1", 0, 0,
0, ".1*e2", 0,
0, 0, ".1*e3"),
type="Full", byrow=TRUE, ncol=3, nrow=3,
as.mxMatrix=TRUE)
dimnames(S1)[[1]] <- dimnames(S1)[[2]] <- variable.labels
当我使用标准设置估算合并相关矩阵并使用以下方法估算模型参数时,一切正常:
fit1 <- tssem1(data.list$data,data.list$n,method = "REM", RE.type = "Diag")
fit2 <- tssem2(fit1,Amatrix=A1,Smatrix=S1)
但是,如果我在tssem2中设置diag.constraints =“TRUE”,那就是推荐用于中介模型的fit2 <- tssem2(fit1,Amatrix=A1,Smatrix=S1,diag.constraints="TRUE")
,我收到错误:
diag.constraints&amp;中的错误(sum(约束)> 0):操作是 仅适用于数字,逻辑或复杂类型
我做错了什么?而且,为什么我需要设置diag.constraints =“TRUE”?
感谢任何帮助。
答案 0 :(得分:0)
A1
会产生错误。 A1
的正确语法是:
A1 <- create.mxMatrix(c(0, 0, 0,
"0*indep2med", 0, 0,
0, "0*med2dep", 0),
type="Full", byrow=TRUE, ncol=3, nrow=3,
as.mxMatrix=TRUE)
其他语法对我来说似乎是正确的。顺便说一句,diag.constraints="TRUE"
中不再需要tssem2()
。