<html>
 <head>
  <meta name="viewport" content="width=device-width">
  <meta http-equiv="Content-Type" content="text/vnd.ui.insecure+html;charset=utf-8">
 </head>
 <body style="overflow-wrap:break-word; word-break: break-word;"><div class="mail_android_message" style="line-height: 1; padding: 0.5em">Dear Wolfgang,<br/><br/>thank you for taking the time to play that through.<br/><br/>Regards,<br/><br/>Tobias<br/><br/>--<br/>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.</div><div class="mail_android_quote" style="line-height: 1; padding: 0.3em"><html><body>Am 18.08.21, 17:45 schrieb "Viechtbauer, Wolfgang (SP)" <wolfgang.viechtbauer@maastrichtuniversity.nl>:</body></html><blockquote class="gmail_quote" style="margin: 0.8ex 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

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