[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