[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