[R-meta] Problems using rma.mh

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Tue Jun 16 15:24:27 CEST 2020

I've fixed the printing issue in the devel version:


With respect to your notes:

a) Sounds right. Whether the resulting tests work properly then is another question.

b) Correct. Without some adjustment, the individual log odds ratios cannot be computed and neither can the Q-statistic then.


>-----Original Message-----
>From: David Fisher [mailto:djfisher81 using gmail.com]
>Sent: Monday, 15 June, 2020 18:04
>To: Viechtbauer, Wolfgang (SP)
>Cc: Gerta Ruecker; r-sig-meta-analysis using r-project.org
>Subject: Re: [R-meta] Problems using rma.mh
>Hi Wolfgang,
>Aha!  It didn't occur to me that the error might be referring to the
>output, rather than to the input.  That makes total sense...and
>thankyou for the suggestion to obtain the results directly from the
>I have had a play with subsets of studies and with the add(), to() and
>drop00 options, and it seems that the following is true:
>  a) If the M-H pooling is done using corrected counts [ via e.g.
>add=c(0, 0.5) to=c("only0", "only0") ] then the Breslow-Day (+/-
>Tarone) statistic is also calculated using corrected counts, and hence
>has a defined value;
>  b) If effect sizes for the individual studies are *not* calculated
>using corrected counts [ again, via add=c(0, 0.5) to=c("only0",
>"only0") ]  then the Q statistic is zero/undefined.
>Finally, regarding your observation that the Cochran-Mantel-Haenszel
>test can still be conducted, even when all studies have zero events in
>the same arm:  this is presumably because the CMH test is very similar
>to a Peto chi-squared test, which can be fitted in this scenario, e.g.
>res.peto <- rma.peto(ai=ai, n1i=n1i, ci=ci, n2i=n2i,
>Many thanks for your work developing "metafor", and for your time
>answering my questions.
>Best wishes,
>On Fri, Jun 12, 2020 at 11:58 AM Viechtbauer, Wolfgang (SP)
><wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
>> Hi David, Hi Gerta,
>> Thanks for the note, David. This was an oversight in the printing
>function. When there are no events at all in one of the arms across all
>studies, then certain statistics cannot be computed, which are then NA. This
>leads to problems when trying to format these values with sprintf(). I'll
>fix this asap.
>> But rma.mh() itself works, so this is fine:
>> dat <- dat.nielweise2007
>> res <- rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i,
>> If you are interested in the Breslow-Day and Tarone statistics, you can
>still get them from the object with:
>> res$BD
>> res$TA
>> and the corresponding p-values with:
>> res$BDp
>> res$TAp
>> But in this case, you will find that both statistics are actually NA. In
>other words, these tests cannot be conducted when there are no events in one
>of the two arms. Or one would have to use continuity corrections, but the
>point of the MH method and related statistics (such as BD and TA) is that
>they do not require such corrections and in fact were never meant to be
>combined with such corrections.
>> Interestingly, the Cochran-Mantel-Haenszel test can still be conducted:
>> res$CO
>> res$COp
>> Best,
>> Wolfgang

More information about the R-sig-meta-analysis mailing list