[R-meta] Question on combining means with robumeta

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Wed Aug 18 16:00:10 CEST 2021


It is not surprisng that measures such as tau^2 and I^2 change when using a different measure. In fact, one cannot even compare tau^2 across different measures, since it is not a 'unitless' measure. I^2 is in principle comparable (since it is a percentage), but it is also not invariant to changes to the measure. Just to illustrate:

library(metafor)
library(meta)

dat <- dat.normand1999
dat <- escalc(measure="MN", mi=m1i, sdi=sd1i, ni=n1i, data=dat)
rma(yi, vi, data=dat)
summary(metamean(n=n1i, mean=m1i, sd=sd1i, data=dat, sm="MRAW", comb.fixed=FALSE, comb.random=TRUE, method.tau="REML"))

dat <- escalc(measure="MNLN", mi=m1i, sdi=sd1i, ni=n1i, data=dat)
res <- rma(yi, vi, data=dat)
res
predict(res, transf=exp)
summary(metamean(n=n1i, mean=m1i, sd=sd1i, data=dat, sm="MLN", comb.fixed=FALSE, comb.random=TRUE, method.tau="REML"))

Best,
Wolfgang

>-----Original Message-----
>From: Tobias Saueressig [mailto:t.saueressig using gmx.de]
>Sent: Wednesday, 18 August, 2021 14:12
>To: Viechtbauer, Wolfgang (SP)
>Cc: Meta list
>Subject: Aw: RE: [R-meta] Question on combining means with robumeta
>
>Dear Wolfgang,
>
>thank you for your answer. My responses:
>
>"I don't understand what you mean by "Since in some cases I had negative values".
>Negative values where?"
>----Sorry, that is my fault. The example I have shared does not have this problem
>(a bit stupid example sorry) but I have a couple of analyses that would lead to
>negative CIs (e.g. -1 second). So I use the log-transformation.
>
>RE: Variances/SEM
>
>---You are of course correct and I have to change that.
>
>What puzzels me is the difference in the hetereogeneity estimates (Tau²,
>I²..etc.). If I perform the analysis with the non-transformed means I get
>different estimates then the analysis with log-transformation. If I use the
>metamean function in meta (for comparison) it shows the same heterogeneity
>estimates wheter I log-transform or not.
>
>Regards,
>
>Tobias
>
>Gesendet: Mittwoch, 18. August 2021 um 13:59 Uhr
>Von: "Viechtbauer, Wolfgang (SP)" <wolfgang.viechtbauer using maastrichtuniversity.nl>
>An: "Tobias Saueressig" <t.saueressig using gmx.de>, "Meta list" <r-sig-meta-analysis using r-
>project.org>
>Betreff: RE: [R-meta] Question on combining means with robumeta
>Dear Tobias,
>
>I don't understand what you mean by "Since in some cases I had negative values".
>Negative values where?
>
>This aside, 'var.eff.size' is for the *variances* but SEM is the SE of the means.
>So it should be:
>
>res <- robu(formula = Mean ~ 1, data = dat,
>studynum = Author, var.eff.size =SEM^2,
>rho = .8, small = TRUE, modelweights="CORR")
>res
>
>although the results are basically the same.
>
>Second, LogMean_SEM doesn't seem to be computed correctly in your example and
>let's not call it SEM since it's a variance:
>
>dat$LogMean_Var <- with(dat, SD^2/(N*Mean^2))
>
>Now:
>
>res1 <- robu(formula = LogMean ~ 1, data = dat,
>studynum = Author, var.eff.size = LogMean_Var,
>rho = .8, small = TRUE, modelweights="CORR")
>res1
>
>#backtransformed results from log scale
>round(exp(c(res1$reg_table$b.r[[1]],res1$reg_table$CI.L[[1]],res1$reg_table$CI.U[[
>1]])),2)
>
>gives very similar results as 'res' earlier.
>
>Best,
>Wolfgang
>
>>-----Original Message-----
>>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On
>>Behalf Of Tobias Saueressig
>>Sent: Tuesday, 17 August, 2021 17:48
>>To: Meta list
>>Subject: [R-meta] Question on combining means with robumeta
>>
>>Dear All,
>>
>>I have a question concerning the combination/pooling of means. Since most of my
>>studies are correlated I deceided to use robust variance estimation method to do
>>this. So metamean function in meta was out because of this. So I used robumeta.
>>Since in some cases I had negative values I deceided to use log transformed means
>>for pooling. My problem is that the estimates look reasonable now with robumeta
>>but the heterogeneity parameters(e.g. Tau, I²) are all estimated with zero. This
>>is strange. Does anybody know why that is?
>>
>>Regards,
>>Tobias Saueressig
>>
>>Reproducible example:
>>
>>#Example
>> Author <-c("Carboch et al. (2019)","Stare et al. (2015)","Mackie
>(2013)","Hornery
>>et al. (2007)",
>>"Takahashi et al. ( 2006)","Morante et al. (2005)","O'Donoghue, P. and Ingram, B.
>>(2001)",
>>"O'Donoghue, P. and Ingram, B. (2001)")
>>
>> Mean<-c(5.93,4.40,6.42,6.70,5.10,6.40,5.70,4.90)
>> SD<-c(0.67,1.73,1.27,2.20,5.19,1.40,1.00,1.40)
>> N<-c(7,5,9,17,16,12,24,35)
>> SEM<-c(0.25,0.77,0.42,0.53,1.30,0.40,0.20,0.24)
>> LogMean<-c(1.78,1.48,1.86,1.90,1.63,1.86,1.74,1.59)
>> LogMean_SEM<-c(1.50,3.40,2.72,3.57,6.62,2.59,1.16,1.16)
>>
>> dat<-data.frame(Author,Mean,SD,N,SEM,LogMean,LogMean_SEM)
>>
>> #Formulas used
>> #SEM<-SD/sqrt(N)
>> #LogMean<-log(Mean)
>> #LogMean_SEM<-SD^2/(N*Mean^2) => taken from metamean function in meta
>>
>> #normalscale
>> res <- robu(formula = Mean ~ 1, data = dat,
>>              studynum = Author, var.eff.size =SEM,
>>              rho = .8, small = TRUE, modelweights="CORR")
>> res
>>
>> #logscale
>> res1 <- robu(formula = LogMean ~ 1, data = dat,
>>             studynum = Author, var.eff.size =  LogMean_SEM,
>>             rho = .8, small = TRUE, modelweights="CORR")
>> res1
>>
>> #backtransformed results from log scale
>> round(exp(c(res1$reg_table$b.r[[1]],res1$reg_table$CI.L[[1]],res1$reg_table$CI.U
>[
>>[1]])),2)


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