我是一个第一次尝试使用R的学生,我不知道如何修复我当前的代码-同样的错误消息不断显示。“fit <- mxRun(model)”之前的所有代码都可以正常工作,没有错误消息。我添加了“model$CovarianceMatrix <- cov_matrix”来解决错误,但这并没有解决问题。
这个错误可能与我的数据是如何公式化的有关,而不是代码本身?
我很感激任何形式的帮助,我完全迷路了。谢谢你所有聪明的人在那里提前:)
pheno2 <- read.csv("pheno2.csv")
library(OpenMx)
colnames(pheno2) <- gsub("\\.", "_", colnames(pheno2))
num_variables <- 7
cov_matrix <- mxMatrix(type = "Full", nrow = num_variables, ncol = num_variables, free = TRUE, values = 1, name = "cov")
means <- mxMatrix(type = "Full", nrow = 1, ncol = num_variables, free = TRUE, values = 0, name = "means")
variances <- mxMatrix(type = "Diag", nrow = num_variables, ncol = num_variables, free = TRUE, values = 1, name = "variances")
mxDataObject <- mxData(observed = as.matrix(pheno2), type = "raw")
expectation <- mxExpectationNormal(covariance = "predicted_cov", means = "means")
model <- mxModel("BasicModel",
cov_matrix,
means,
variances,
mxAlgebra(cov_matrix %*% t(variances) %*% cov_matrix, name = "predicted_cov"),
expectation,
mxDataObject)
model$CovarianceMatrix <- cov_matrix
model$fitFunction <- mxFitFunctionML()
fit <- mxRun(model)
Error: Unknown reference 'cov_matrix' detected in the entity
'predicted_cov' in model 'BasicModel'
1条答案
按热度按时间hgqdbh6s1#
记住在提问时提供一个最小的数据示例。
命名不正确,这里应该是“cov”:t(方差)%* 覆盖率%