使用metaplus

时间:2019-02-23 03:38:50

标签: r regression factors

我一直在尝试使用因子变量作为模型中的单个调节变量在R中运行元回归。虽然我可以使用meta和metafor这样的程序包来运行模型,但是这些程序包都没有选择将轮廓似然性作为tau ^ 2估计量而不是REML或DL的选项。软件包metaplus是专门为此目的而设计的,但是我似乎无法使其与因子变量一起运行。以下是一些示例数据:

trial   author    year tpos  tneg cpos  cneg ablat   alloc      yi     vi             
1      Aronson    1948    4   119   11   128    44    random  -0.8893 0.3256
2      Ferguson   1949    6   300   29   274    55    random  -1.5854 0.1946
3      Rosenthal  1960    3   228   11   209    42    random  -1.3481 0.4154
4      Hart       1977   62  13536  248 12619   52    random  -1.4416 0.0200
5      Frimodt    1973   33  5036   47  5761    13  alternate -0.2175 0.0512
6      Stein      1953  180  1361  372  1079    44  alternate -0.7861 0.0069
7      Vandiviere 1973    8  2537   10   619    19     random -1.6209 0.2230
8      TPT Madras 1980  505 87886  499 87892    13     random  0.0120 0.0040
9      Coetzee    1968   29  7470   45  7232    27     random -0.4694 0.0564
10     Rosenthal  1961   17  1699   65  1600    42 systematic -1.3713 0.0730
11     Comstock   1974  186 50448  141 27197    18 systematic -0.3394 0.0124
12     Comstock   1969    5  2493    3  2338    33 systematic  0.4459 0.5325
13     Comstock   1976   27 16886   29 17825    33 systematic -0.0173 0.0714
yi =摘要效应(均值差); vi =效果摘要的差异

我想运行带有分配的元回归作为主持人。在其他尝试中,这是我尝试使用的最直接的代码:

res <- metaplus(yi, vi, mods =~ factor(alloc), slab = trial, data = dat)

以下是我收到的错误消息:

Error in rma(yi = yi, sei = sei, mods = as.data.frame(mods), method = "DL") : 
Model matrix contains character variables.

Error in as.data.frame.default(mods) : 
cannot coerce class ‘"formula"’ to a data.frame

我已经搜索了堆栈溢出并进行了交叉验证,但无法找到解决方案。我真的很感谢对此的一些建议。

谢谢。

0 个答案:

没有答案