Dear Gerta,
Many thanks for your reply.
Firstly: apologies, I was inconsistent in the naming of my dataset in
my example code, as you spotted. But no, this doesn't solve my
original problem :-)
When you say "I cannot locate", do you mean you do not see the same
error message?
Thankyou for pointing me towards the alternative package "metabin".
Can you tell me whether it can be used to calculate the Breslow-Day
(and/or Tarone) statistics for homogeneity of odds ratios? Or, could
you tell me whether you would expect these statistics to be calculated
using raw counts, or using continuity-corrected counts?
Thanks again,
David.
On Fri, Jun 12, 2020 at 10:24 AM Gerta Ruecker
<ruecker at imbi.uni-freiburg.de> wrote:
Once more. Here is the code with OR and without continuity correction:
library(metafor)
dat2007 <- dat.nielweise2007
library(meta)
m1 <- metabin(ai, n1i, ci, n2i, sm = "OR", incr = 0, data = dat2007)
m2 <- metabin(ai, n1i, ci, n2i, sm = "OR", incr = 0,
data=dat2007[dat2007$ai==0,])
m1
m2
For m2, with only zero events, you obtain OR = 0, but without estimates
for the standard error and thus without confidence intervals. See
forest(m2)
Best,
Gerta
Am 12.06.2020 um 11:15 schrieb Gerta Ruecker:
Dear David,
Your code defines a data set called dat, but not dat2007. But this
doesn't seem to be the problem (I can't locate). Maybe the double zero
is the problem?
You could try the meta package:
library(metafor)
dat2007 <- dat.nielweise2007
library(meta)
m1 <- metabin(ai, n1i, ci, n2i, data = dat2007)
m2 <- metabin(ai, n1i, ci, n2i, data=dat2007[dat2007$ai==0,])
m1
m2
Best,
Gerta
Am 12.06.2020 um 11:01 schrieb David Fisher:
Dear metafor community,
I am a Stata user with only limited knowledge of R. I am trying to
validate some Stata code by comparing with output from metafor; in
particular, sparse data/zero cells using Mantel-Haenszel methods.
My reference is Wolfgang's page
"http://www.metafor-project.org/doku.php/tips:comp_mh_different_software".
If I type:
library(metafor)
dat <- dat.nielweise2007
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i, data=dat)
...then I successfully obtain the output shown on the webpage.
However, if I alter the command in (seemingly) any way, I get the
following error:
Error in sprintf(format, names(x)) :
invalid format '%NA'; use format %s for character objects
For instance, if I limit the dataset to studies with zero events in
the treatment arm:
rma.mh(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i,
data=dat2007[which(dat2007$ai==0),])
...and similarly if I attempt to use another data frame, or import
from Stata using "read.dta". Furthermore, I do not appear to have the
same issue if I use another model. For instance, the following runs
with no problem:
rma(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i,
data=dat2007[which(dat2007$ai==0),])
I am using a fresh install of R 4.0.1 and of the metafor package.
Could someone point me in the right direction?
Many thanks,
David.