[R-meta] Back transformation of double arscine transformed estimates in metafor

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Fri Oct 4 11:35:23 CEST 2019


Dear Daniel,

predict(metareg, transf=transf.ipft.hm, targ=list(ni=a$total)) gives you the fitted values (proportions) for the 11 studies. So these are the predicted values (based on the model) for whatever values these studies take on for the moderator variables. If you want to compute predicted values for other combinations of moderator values, you need to use the 'newmods' argument. For example:

predict(metareg, newmods = c(0,1,1,0), 
        transf=transf.ipft.hm, targ=list(ni=a$total))

will give the predicted value (proportion) for continent = North America, age = infant, and pm = LA (based on your post on Stack Overflow -- https://stackoverflow.com/questions/58203464/reverse-transformation-of-double-arscine-transformed-estimates-when-doing-meta-r -- I can see that pm has two levels, LA (reference level) and TA).

By varying one moderator and holding the other moderators constant, you can illustrate how a moderator affects the results (you cannot just take the model coefficients and transform them).

But: The back-transformation for the FT transformation is problematic. Please take a look at:

https://onlinelibrary.wiley.com/doi/full/10.1002/jrsm.1348

Even though the FT transformation has some nice properties, I would therefore avoid it (because we typically do want to back-transform in the end). You could either just use the 'standard' arcsine square root transformation (measure="PAS") or maybe even better switch to a logistic mixed-effects model, which you can fit with rma.glmm():

metareg <- rma.glmm(measure="PLO", ai=compl, nu=total, data=a,
                    mods = ~ continent + age + pm)

The results are then analyzed on the logit (log odds) scale. So, the back-transformation to odds would be:

predict(metareg, newmods = c(0,1,1,0), transf=exp)

In fact, here, you can exponentiate the coefficients themselves, which then reflect odds ratios:

round(exp(coef(summary(metareg))[,c("estimtate", "ci.lb", "ci.ub")]), 3)

The back-transformation to proportions would be:

predict(metareg, newmods = c(0,1,1,0), transf=transf.ilogit)

Best,
Wolfgang

-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On Behalf Of Daniel Mønsted Shabanzadeh
Sent: Friday, 04 October, 2019 10:47
To: r-sig-meta-analysis using r-project.org
Subject: [R-meta] Back transformation of double arscine transformed estimates in metafor

Hey

I am performing a meta-regression of multiple single arm
studies. The outcome is proportions of complications following a specific
surgical treatment which is the same for all included studies. I want to
explore if variables such as age, continent or medications have an impact
on the outcome. Since some of the identified studies have 0 complications
events I have performed Freeman-Tuckey double arscine transformation of
data.

Data transformation
b<-escalc(xi=compl, ni=total, data=a, measure="PFT", add=0)

Meta-regression of multiple identified studies
metareg<-rma(yi, vi, data=b, mods=~continent+age+pm)
print(metareg)

Mixed-Effects Model (k = 11; tau^2 estimator: REML)

tau^2 (estimated amount of residual heterogeneity):     0.0091 (SE = 0.0060)
tau (square root of estimated tau^2 value):             0.0952
I^2 (residual heterogeneity / unaccounted variability): 91.15%
H^2 (unaccounted variability / sampling variability):   11.30
R^2 (amount of heterogeneity accounted for):            28.85%

Test for Residual Heterogeneity:
QE(df = 6) = 78.3204, p-val < .0001

Test of Moderators (coefficient(s) 2:5):
QM(df = 4) = 7.6936, p-val = 0.1035

Model Results:

                        estimate      se     zval    pval    ci.lb   ci.ub
intrcpt                   0.3197  0.1079   2.9640  0.0030   0.1083  0.5311  **
continentAsia            -0.1666  0.1062  -1.5685  0.1168  -0.3747  0.0416
continentNorth America   -0.1755  0.1067  -1.6452  0.0999  -0.3845  0.0336   .
ageinfant                 0.1824  0.0741   2.4616  0.0138   0.0372  0.3277   *
pmTA                     -0.1484  0.0973  -1.5252  0.1272  -0.3392  0.0423

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

These estimates and CI are transformed. Usually I would transform them back
to proportions with predict in presence of simple models. But I am not sure
hos to do it in multiple models.

predict(metareg, transf=transf.ipft.hm, targ=list(ni=a$total)). This gives
us multiple lines of estimates which I cannot interpretate:

     pred  ci.lb  ci.ub  cr.lb  cr.ub
1  0.0259 0.0017 0.0715 0.0000 0.1388
2  0.0202 0.0005 0.0594 0.0000 0.1245
3  0.0000 0.0000 0.0348 0.0000 0.0692
4  0.0202 0.0005 0.0594 0.0000 0.1245
5  0.1058 0.0290 0.2206 0.0056 0.2976
6  0.0175 0.0000 0.0940 0.0000 0.1478
7  0.1174 0.0380 0.2310 0.0100 0.3110
8  0.0202 0.0005 0.0594 0.0000 0.1245
9  0.0283 0.0000 0.1236 0.0000 0.1799
10 0.0259 0.0017 0.0715 0.0000 0.1388
11 0.0259 0.0017 0.0715 0.0000 0.1388

How do I obtain estimates of proportions for the impact of each variable
explored in the model?

Regards,
Daniel


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