Metafor包:模型有交互时不能使用影响函数

时间:2015-03-03 19:39:01

标签: r

如果我的问题错位,我很抱歉,这个问题可能更适合交叉验证。

我正在使用influence包的函数metafor,它提供对异常值度量的各种敏感度(例如Cook的距离)。这是我的模型和influence提供的错误:

> resMod2 <- rma(Total$abs_d, Total$vd, mods = ~ Total$log_rayon + Total$log_rayon2 + Total$AssT + Total$AssT2 + Total$ES + Total$AssT2*Total$AssT + Total$log_rayon*Total$AssT2,  method = "REML", data = Total)
> inf <- influence(resMod2)
Error in Xi %*% res$b : non-conformable arguments

现在,当我的模型不包含交互时,我没有此错误。 那么,我的问题是:这个错误是什么意思?我能为此做些什么吗?

更新:更新到metafor 1.9-5后。我正在准备我的数据集的一个子集,以帮助找到问题。我意识到我没有一个子集的错误。在一系列试验之后,当包含这一行数据时出现错误:

    > test[103,]
     ES   AssT2 AssT        vd    abs_d log_rayon log_rayon2
103  g Neither   AR 0.2352841 1.185764  1.128558   1.273643e+00

以下是我的其余数据的样本供比较:

    > head(test, n = 20)
        ES    AssT2 AssT          vd      abs_d     log_rayon   log_rayon2
    1  OR  Classic   AR 0.100308141 0.65422508 -6.9077552790 4.771708e+01
    2  OR  Classic   AR 0.133744188 2.83070510 -6.9077552790 4.771708e+01
    3  OR  Classic   AR 0.097268501 2.42278885 -6.9077552790 4.771708e+01
    4  OR  Classic   AR 5.754039740 0.88954233 -6.9077552790 4.771708e+01
    5  OR  Classic   AR 4.641531264 0.74472762 -6.9077552790 4.771708e+01
    6  OR  Classic   AR 1.033477819 0.22271484 -1.0188773206 1.038111e+00
    7  OR  Classic   AR 0.291805502 1.94501000 -6.9077552790 4.771708e+01
    8  OR Contrast   AS 0.091189219 0.03322932  0.0009995003 9.990009e-07
    9  OR Contrast   AS 0.227973048 0.31800789  0.0009995003 9.990009e-07
    10 OR  Classic   AS 0.009118922 0.11226319 -0.5780343735 3.341237e-01
    11 OR  Classic   AR 0.072951375 0.57212362 -1.2006450142 1.441548e+00
    12 OR  Classic   AR 3.139948785 0.60140953 -2.2926347621 5.256174e+00
    13 OR Contrast   AS 3.641489492 0.01651413 -2.2926347621 5.256174e+00
    14 OR  Classic   AS 0.027356766 0.70202373  0.0009995003 9.990009e-07
    15 OR  Classic   AS 0.021277485 0.31418150 -6.9077552790 4.771708e+01
    16 OR  Classic   AR 0.021277485 0.31418150  0.0009995003 9.990009e-07
    17 OR  Classic   AR 0.095739331 0.48683262 -6.9077552790 4.771708e+01
    18  g  Classic   AS 0.036639031 0.32182515 -6.9077552790 4.771708e+01
    19  g Contrast   AS 0.037021684 0.38265986 -6.9077552790 4.771708e+01
    20  g Contrast   AS 0.373049484 0.93066259 -0.5705936364 3.255771e-01

1 个答案:

答案 0 :(得分:0)

根据您的更新,我现在可以看到发生了什么。基本上,问题是:包含该行数据,可以估计所有模型系数。但是,当删除该行数据时(这是influence()函数正在执行的操作的一部分 - 例如,计算已删除的残差),一个或多个系数不可估计,因此它们实际上已被删除。然后乘法因尺寸不兼而失败。

这是一个错误。这将在下一版本中得到纠正。我已将此添加到开发版本中,您可以按照此处所述进行安装:

http://www.metafor-project.org/doku.php/installation#development_version

请注意,该研究的大多数影响诊断将为NA