[R-meta] Metafor: meta regression using rma function for proportion with categorical and continuous variable using PFT transformation
Viechtbauer, Wolfgang (NP)
wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Mon Sep 30 09:11:00 CEST 2024
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>
More information about the R-sig-meta-analysis
mailing list