需要TRUE / FALSE时缺少值-rma.mv

时间:2019-03-31 10:01:10

标签: r

我正在尝试在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的值

有人可以告诉我这是怎么回事吗?

1 个答案:

答案 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对象。在您的情况下,它将是双精度的,因为您使用的函数期望方差/协方差矩阵