[R-meta] Help with variance stabilizing transformation methods in Metafor

Guido Schwarzer sc at imbi.uni-freiburg.de
Thu Jan 11 18:25:52 CET 2018


Dear Todor,

I cannot comment (in detail) on using *metafor*, however, using 
transf.ipft.hm() is surely wrong, as this is for back-transformation of 
proportions, not incidence rates. You have to use transf.iirpf() for the 
inverse of the Freeman-Tukey transformation of incidence rates. Note, 
you have to use the function with two "i"s where the first "i" stands 
for "inverse" and the second "i" stands for "incidence". Using 
transf.irpf() with one "i" would be wrong.


Alternatively, you could use function metarate() from *meta* which does 
the back-transformation automatically for you. Furthermore, metarate() 
has an argument 'irscale' to display results are events per x 
person-years. e.g., 'irscale = 100' to report events per 100 person-years.

m.irft <- metarate(xi, ti, data = dat, studlab = study, sm = "IRFT", 
method.tau = "PM", irscale = 100, prediction = TRUE)
summary(m.irft)
forest(m.irft, xlim = c(0, 5))

As you see in the attached forest plot, there is a problem with the 
Freeman-Tukey (back-)transformation:
the overall estimates (fixed effect and random effects) are very small 
which does not make much sense. This results from problems with the 
back-transformation in this setting with many studies with zero events.

Therefore, I would recommend to use a different method for the 
meta-analysis. Personally, I would use metarate() with argument 'method 
= "GLMM"' which conducts a random intercept Poisson regression model 
(Stijnen et al. 2010, section 3.3). Note, metarate() calls rma.glmm() 
from *metafor* internally to conduct the Poisson regression.

The pooled results for the Poisson regression

0.73 events (fixed effect) and 0.70 events (random effects) per 100 
person-years

look much more plausible to me than the results for the Freeman-Tukey method

0.15 events (fixed effect) and 0.16 events (random effects) per 100 
person-years.

Best wishes,
Guido


Reference:

Stijnen, T., Hamza, T.H. & Ozdemir, P., 2010, Random effects 
meta-analysis of event outcome in the framework of the generalized 
linear mixed model with applications in sparse data, Statistics in 
Medicine, 29(29), pp. 3046-67

-- 
Dr. Guido Schwarzer
Institute of Medical Biometry and Statistics,
Faculty of Medicine and Medical Center - University of Freiburg

Postal address: Stefan-Meier-Str. 26, D-79104 Freiburg

Phone: +49/761/203-6668
Mail: sc at imbi.uni-freiburg.de
Homepage: http://www.imbi.uni-freiburg.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://stat.ethz.ch/pipermail/r-sig-meta-analysis/attachments/20180111/736e4733/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ir-cancer-rec-irft.pdf
Type: application/pdf
Size: 8696 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-meta-analysis/attachments/20180111/736e4733/attachment.pdf>
-------------- next part --------------
##
## Use of the GitHub development version of meta is not strictly
## necessary, however, fixes a minor bug in forest.meta():
## - the forest plot generated with the command 'forest(m.irft)'
##   includes "-0.00" instead of "0.00" for some studies
##
install.packages("devtools")
devtools::install_github("guido-s/meta")


library(meta)


dat <- read.table("ir.cancer.rec.csv", sep=";", header=TRUE)


m.irft <- metarate(xi, ti, data = dat, studlab = study,
                   sm = "IRFT", method.tau = "PM",
                   irscale = 100, prediction = TRUE)
##
m.glmm <- update(m.irft, method = "GLMM")


pdf("ir-cancer-rec-irft.pdf", width = 10, height = 11)
forest(m.irft, xlim = c(0, 5))
dev.off()


summary(m.irft)
##
summary(m.glmm)


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