双变量模型和'predict.rma()'函数('metafor'包)

时间:2017-09-02 08:39:42

标签: r plot metafor

假设我有以下模型结果:

> summary(msa_res@objects[[1]])

Model Results:

         estimate      se     zval    pval    ci.lb    ci.ub     
intrcpt    0.9397  0.0667  14.0850  <.0001   0.8090   1.0705  ***
MAT_e     -0.0079  0.0035  -2.2691  0.0233  -0.0147  -0.0011    *
Naddl     -0.0385  0.0133  -2.9005  0.0037  -0.0645  -0.0125   **

我想使用MAT_eNaddl版主的预测函数绘制回归线:

preds_MAT_e <- predict(msa_res@objects[[1]], newmods=c(-5:30))
preds_Naddl <- predict(msa_res@objects[[1]], newmods=c(1:6))

但是我遇到了这种错误:

Error in predict.rma(msa_res@objects[[1]], newmods = c(-5:30)) : 
  Dimensions of 'newmods' do not match dimensions of the model.

我想这是因为我没有指定predict()函数应该考虑哪个主持人。请注意,上述函数适用于单变量模型,例如:仅限MAT_e。

1 个答案:

答案 0 :(得分:2)

如果有两个预测变量,则需要为两个预测变量指定值。所以,例如:

predict(msa_res@objects[[1]], newmods=cbind(-5:30, 1))

predict(msa_res@objects[[1]], newmods=cbind(10, 1:6))

因此,您可以在改变另一个预测变量时保持一个预测变量。