[R-meta] Back transformation of double arscine transformed estimates in metafor
Dear Wolfgang I have now run the models, but still seem to have some conversion problems when trying to obtain proportions from the regression model. The variable age_cor is categorical with 6 levels (level 5 is ref.). b<-rma.glmm(xi=compl_treat, ni=total, mods = ~age_cor, measure = "PLO", data=a) c<-predict(b, newmods=c(0,0,0,0,1), transf=transf.ilogit) print(c) pred ci.lb ci.ub cr.lb cr.ub 0.0183 0.0064 0.0516 0.0011 0.2460 As far as I interpretate this results, it means that if age_cor is fixed at 0 in level 1-4 and level 5 is fixed at 1, the proportion is 0.0183. Is it not possible to obtain proportions from all levels in the variabel when one level is the reference? Like the case in studies with relative risks exploring multiple level categorical variables with one reference level. Regards, Daniel Daniel M?nsted Shabanzadeh MD, PhD Department of Gastroenterology, Surgical Unit Hvidovre Hospital Mobile +45 2546 5251 On Fri, Oct 4, 2019 at 1:30 PM Wolfgang Viechtbauer <
wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
1) The logistic model also doesn't require adjustments to the counts, so yes, it has the same advantage as the PFT (and PAS) transformation. 2) You are doing a meta-analysis of proportions, but the analysis is carried out on a transformed scale (like with PFT). When you use a logistic model, you are (implicitly) doing the analysis on a logit scale. For easier interpretation, we then typically transform the results back to odds or directly to proportions. Best, Wolfgang
Thank you for your reply! A few questions remain: 1. The reason for using FT transformation was due to many outcomes being equal to 0 in proportions and thereby to avoid adding numbers that
distort
the estimates. Would the PAS or PLO have the same advantages as the FT transformation in this regard? 2. The meta-regression is performed on proportions and not on relative risks or odds. Can a meta-regression on proportions be performed in PAS
or
PLO? Regards, Daniel fre. 4. okt. 2019 11.35 skrev Viechtbauer, Wolfgang (SP) < wolfgang.viechtbauer at maastrichtuniversity.nl>:
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 --
-- 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 at r-project.org] On Behalf Of Daniel M?nsted Shabanzadeh Sent: Friday, 04 October, 2019 10:47 To: r-sig-meta-analysis at 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