[R-meta] Metafor: meta regression using rma function for proportion with categorical and continuous variable using PFT transformation

Reza Norouzian rnorouz|@n @end|ng |rom gm@||@com
Tue Oct 1 03:07:29 CEST 2024


Wolfgang,

I typically use emmeans for post model comparisons of this kind. But in
applying this to your example, I noticed the "at=" argument in emmeans(),
to hold say _scq_ at 12, is not coming through from emmprep() --at least
for me-- at all. If this is true for you all as well, then it could
possibly be some bug lurking around somewhere in emmprep() or qdrg().

Reza

dat <- dat.debruin2009
dat <- escalc(measure="PLO", xi=xi, ni=ni, data=dat)

res <- rma(yi, vi, mods = ~ scq + ethnicity, data=dat)
grd <- emmprep(res)

emmeans(grd, pairwise~scq + ethnicity, type="response", infer=c(TRUE,TRUE),
at=list(scq=12))

Compare to:

res2 <- lm(yi~ scq + ethnicity, data=dat)

emmeans(res2, pairwise~scq + ethnicity, tran= "logit", type="response",
infer=c(TRUE,TRUE),
        at = list(scq = 12))

On Mon, Sep 30, 2024 at 2:11 AM Viechtbauer, Wolfgang (NP) via
R-sig-meta-analysis <r-sig-meta-analysis using r-project.org> wrote:

> Dear Daidai,
>
> Using the FT transformation for a meta-analysis is actually quite
> problematic:
>
> Schwarzer, G., Chemaitelly, H., Abu-Raddad, L. J., & Rücker, G. (2019).
> Seriously misleading results using inverse of Freeman-Tukey double arcsine
> transformation in meta-analysis of single proportions. Research Synthesis
> Methods, 10(3), 476–483. https://doi.org/10.1002/jrsm.1348
>
> Röver, C., & Friede, T. (2022). Double arcsine transform not appropriate
> for meta‐analysis. Research Synthesis Methods, 13(5), 645–648.
> https://doi.org/10.1002/jrsm.1591
>
> So I would generally advise against its use. Good alternatives are the
> standard arcsine or logit transformations.
>
> The appropriate back-transformations are transf.iarcsin() and
> transf.ilogit() (the latter is really just plogis()). But you cannot
> back-transform the coefficients with these transformations, since these are
> non-linear transformations (so the influence of one moderator depends on
> the values of the other moderators). You can however back-transform
> predicted values based on the model. Consider this example:
>
> library(metafor)
>
> dat <- dat.debruin2009
> dat <- escalc(measure="PLO", xi=xi, ni=ni, data=dat)
>
> res <- rma(yi, vi, mods = ~ scq + ethnicity, data=dat)
> res
>
> # compute predicted values for scq=11 and scq=12 for ethnicity=caucasian
> out <- predict(res, newmods=cbind(c(11,12),0), transf=transf.ilogit)
> out
> out$pred[2] - out$pred[1]
>
> # compute predicted values for scq=11 and scq=12 for ethnicity=other
> out <- predict(res, newmods=cbind(c(11,12),1), transf=transf.ilogit)
> out
> out$pred[2] - out$pred[1]
>
> Notice that the difference between predicted values that differ by one
> unit on scq depends on ethnicity.
>
> For logit-transformed proportions, you can however exponentiate the
> coefficients, which then correspond to odds ratios:
>
> round(exp(coef(summary(res)))[c(1,5,6)], digits=2)
>
> So, a one-unit increase in scq corresponds to a 1.05 times increase in the
> odds (or the odds are 5% higher when scq is one unit higher) and this holds
> true whether ethnicity=caucasian or ethnicity=other.
>
> Best,
> Wolfgang
>
> > -----Original Message-----
> > From: R-sig-meta-analysis <r-sig-meta-analysis-bounces using r-project.org>
> On Behalf
> > Of Danyang Dai via R-sig-meta-analysis
> > Sent: Sunday, September 29, 2024 14:14
> > To: Michael Dewey <lists using dewey.myzen.co.uk>
> > Cc: Danyang Dai <danyan.dai01 using gmail.com>; R Special Interest Group for
> Meta-
> > Analysis <r-sig-meta-analysis using r-project.org>
> > Subject: Re: [R-meta] Metafor: meta regression using rma function for
> proportion
> > with categorical and continuous variable using PFT transformation
> >
> > Hi Michael and the community
> >
> > Thanks for your suggestion. I tried log transformation and I could go
> with
> > log transformation as well. I chose Freeman-Tukey transformation as the
> > prevalences we have ranged from 2% up to 80%. If I were to use log
> > transformation, how should I backgransform the coefficients for
> > interpretation? Thank you for your help!
> >
> > Kind regards
> > Daidai
> >
> > On Sun, Sep 29, 2024 at 9:10 PM Michael Dewey <lists using dewey.myzen.co.uk>
> > wrote:
> >
> > > Dear Daidai
> > >
> > > Are you committed to using the Freeman-Tukey transformation? It is
> > > easier to back-transform using log or log-odds.
> > >
> > > Michael
> > >
> > > On 29/09/2024 05:05, Danyang Dai via R-sig-meta-analysis wrote:
> > > > Dear community members
> > > >
> > > > I am preparing meta regression using escalc and rma function from the
> > > > Metafor package. I would like to control for study mean age
> (continuous
> > > > variable), percentage of CKD patients (continuous variable between 0
> and
> > > > 1) and the region where the study was conducted (categorical
> variable).
> > > >
> > > > The effect size is a proportion (xi/ni). For the first step, I used
> the
> > > > PFT to transform the data using: icu_ies <- escalc(data =
> > > > data_icu_meta_join_2, xi = events, ni = icu_all, measure = "PFT").
> > > >
> > > > To conduct the meta regression, I then run: icu_region_ckd_age <-
> rma(yi
> > > > = yi, vi = vi, data = icu_ies, mods = ~region
> +ckd_pre+age_all_mean_1 ).
> > > > See the output:
> > > > Screenshot 2024-09-29 at 13.49.30.png
> > > > I am having trouble*interpreting the estimated coeffections* from the
> > > > output above. I could tell that the omnibus test suggests that we
> cannot
> > > > reject the null hypothesis which indicates that the joint parameters
> > > > were not significant. If we ignore the significance of the
> parameters,
> > > > how should we interpret the estimates? For example, if we take
> region =
> > > > North America, controlling for the CKD percentage and mean age of the
> > > > study population, North America has shown a higher prevalence
> (0.2135)
> > > > compared to the baseline region. As we have done the PFT
> transformation
> > > > upfront, I am not sure if that is the correct interpretation. I tried
> > > > use prediction function to calculate the backtranformed values:
> > > > predict(icu_region_ckd_age, transf=,
> > > > targs=list(ni=icu_ies$icu_all),transf=transf.pft), but this would
> return
> > > > the individual backtranformed value for each study. I would like to
> > > > calculate the backtranformed coeffections for the purpose of
> > > > interpretation. Thank you all for your suggestions and help!
> > > >
> > > > Kind regards
> > > > Daidai
> > > > Github: https://github.com/DanyangDai <https://github.com/DanyangDai
> >
> > > > University email: danyang.dai using uq.edu.au <mailto:
> danyang.dai using uq.edu.au>
> _______________________________________________
> R-sig-meta-analysis mailing list @ R-sig-meta-analysis using r-project.org
> To manage your subscription to this mailing list, go to:
> https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
>

	[[alternative HTML version deleted]]



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