user8060841
user8060841

Reputation:

Meta and Metafor R Package -

I am currently conducting a metaanlysis in R using the package "metafor". Doing my research I came across a different package for metaanalyses in R, namely "meta". I like the forest plot created by the latter package better (designwise) but unfortunatley some of the data is not the same as in the plot I created with metafor.

Specifically, the data is different only for I^2 and the pooled estimate.

meta_1 <- rma(yi=yi, vi=vi, measure="SMD", method="ML", slab=Citation, data=dat)
forest(meta_1)

meta_2 <- metagen(yi,vi^.5,data = dat,studlab = paste(Citation), comb.fixed = FALSE, 
                 comb.random = TRUE, hakn = TRUE, method.tau = "ML", sm = "SMD")
forest(meta_2)

Does anyone know why those differences emerge?

Upvotes: 1

Views: 866

Answers (1)

Mike
Mike

Reputation: 4390

So I was able to get the prediction interval to match across functions but not the I^2 values (even though the difference is off by only 2%). There might be some statistical correction one package is doing compared to the other or it has to do with the RE/FE type of modeling approach.

Anyway I hope this code helps point you in the right direction. To get the CIs to match you also have to use the parameter method.tau.ci in metagen().

library(meta)
library(metafor)
study<- c(1:10) 
yi<- c( -0.48965031,0.64970214, 0.11201680,0.07945655,-0.70874645 -0.54922759,0.66768916 , -0.45523574 ) 
vi <- c(0.10299697,0.14036855,0.05137812, 0.03255550, 0.34913525, 0.34971466, 0.07539957, 0.08428983) 
dat <- cbind(study, yi, vi) 
dat <- as.data.frame(dat)

meta_1 <- rma(yi=dat$yi, vi=dat$vi, measure="SMD", method="REML", slab=paste(study), data=dat) 
forest(meta_1) 

meta_2 <- meta::metagen(TE =dat$yi,seTE = dat$vi^.5, method.tau = 'REML',
                        method.tau.ci = 'BJ', comb.random = TRUE, comb.fixed = TRUE,
                        sm = 'SMD') 

forest(meta_2)

Upvotes: 0

Related Questions