我正在尝试在R中执行以下代码以进行三级荟萃分析
full.model <-rma.mv(FisherZ, varZ, 随机=列表(〜1 | id, 〜1 | Study_ID), tdist = TRUE, 数据= MADATA, 方法=“ REML”)
但是我遇到一个错误 if(is.vector(V)|| nrow(V)== 1L || ncol(V)== 1L)中的错误V <-diag(as.vector(V),: 缺少需要TRUE / FALSE的值
有人可以告诉我这是怎么回事吗?
答案 0 :(得分:0)
该错误归因于varZ。
第if (is.vector(V) || nrow(V) == 1L || ncol(V) == 1L) V <- diag(as.vector(V)
行试图在varZ上执行测试(V = varZ)。
如果varZ为空或为Null,则会出现错误。如果不是矩阵,那么也会出错。
您必须确保它是一个包含is.matrix(varZ)
的矩阵。
如果为False
,请尝试使用varZ <- as.matrix(varZ)
要转换为矩阵,varZ必须是仅填充一种类型变量的2D对象。在您的情况下,它将是双精度的,因为您使用的函数期望方差/协方差矩阵