[R-meta] rma.glmm and relative risk
Dear David My feeling is that if the log-binomial model does not converge it is telling you something about the data-set, possibly that it is trying to estimate risk ratios which would, in turn, lead to impossible predictions on the response scale. I must confess though this is just a hunch and have have zero evidence to back it up. Michael
On 05/09/2019 09:11, David Hajage wrote:
Dear Wolfgang, Thank you very much for this (so complete) answer. My request is explained by: - the desire to compare the results obtained with the one-step and two-step methods - the need to provide RR to a collaborator who finds the OR misleading I fully understand the problems of convergence. What would you recommend in this situation? - provide RR after verifying that there is no convergence issues? would this be acceptable, or subject to questioning at the time of publication? - explain the possible convergence issues and convince the investigator to "accept" OR estimations? Thank you again, Best, David On Wed, Sep 4, 2019 at 11:59 PM Viechtbauer, Wolfgang (SP) < wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
Hi David, measure="RR" is not (currently) available in rma.glmm() because that would require using a log instead of the logit link and you are (much?) more likely to run into convergence problems when doing logistic mixed-effects models with a log link. Just for the fun of it, I just pushed an update to the 'devel' version of metafor on GitHub (which you can install as described here: https://wviechtb.github.io/metafor/#installation) that adds an (undocumented) 'family' argument to rma.glmm() that allows you to change the link function (and in principle even the family, but that would be really asking for trouble). You still have to use measure="OR" -- which is a bit of a misnomer when switching to a log link -- but I didn't want to make extensive changes to rma.glmm() right now. Let's try an example (where the outcome is not rare, because for rare outcomes, you won't see much of a difference between RRs and ORs). I'll start with the analysis using ORs: ### copy data into 'dat' dat <- dat.linde2005 ### remove studies with no response information and study with no responses in either group dat <- dat[-c(5,6,26),] res <- rma(measure="OR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat) res predict(res, transf=exp) res <- rma.glmm(measure="OR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat, model="UM.RS") res predict(res, transf=exp) So, using a 'normal-normal' (two-step) model and using a logistic random-effects model gives very similar results here. Okay, now let's use a 'normal-normal' model with RRs: res <- rma(measure="RR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat) res predict(res, transf=exp) And now you can do: res <- rma.glmm(measure="OR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat, model="UM.RS", family=binomial(link="log")) res predict(res, transf=exp) Two things to note: The results are indeed close again to those from the normal-normal model. But you also get a convergence warning (it does converge, but with some troubles). So, feel free to play around with that. I don't know if I will leave that option in (and I'll have to go through all functions that operate on 'rma.glmm' model objects to check that nothing else breaks as a result). Use at your own risk. In principle, one could now even move to a risk difference scale, by using an identity link: rma(measure="RD", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat) But this is even more difficult to fit and fails spectacularly here: rma.glmm(measure="OR", ai=ai, ci=ci, n1i=n1i, n2i=n2i, data=dat, model=" UM.RS", family=binomial(link="identity")) For our beloved BCG dataset, this does work, but I had to switch to the UM.FS model: dat <- dat.bcg rma(measure="RD", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat) rma.glmm(measure="OR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat, model="UM.FS", family=binomial(link="identity")) Best, Wolfgang -----Original Message----- From: R-sig-meta-analysis [mailto: r-sig-meta-analysis-bounces at r-project.org] On Behalf Of David Hajage Sent: Wednesday, 04 September, 2019 18:29 To: r-sig-meta-analysis at r-project.org Subject: [R-meta] rma.glmm and relative risk Dear all, First, I would like to thank Mr Viechtbauer and all the contributors of the metafor package: it is very useful and convenient piece of software. I have a little question regarding the function ?rma.glmm?. I have a binary outcome, and applied the following one-step model:
rma.glmm(measure = "OR",
+ ai = exp_event, bi = exp_noevent, ci = con_event, di = con_noevent, + data = ma, model="UM.RS") I would prefer to express the results in terms of relative risk. This seems possible when applying a two-step approach (because measure = ?RR? is an option of the function ?escalc?), but it doesn?t seem possible with rma.glmm. Is there a reason for that? And is there a workaround within your package? (I know that I can directly use glmer, but I would really prefer staying in the workflow of metafor package). Thank you very much for you help, Best wishes, -- David
[[alternative HTML version deleted]]
_______________________________________________ R-sig-meta-analysis mailing list R-sig-meta-analysis at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis --- This email has been checked for viruses by AVG. https://www.avg.com