[R-meta] Question on combining means with robumeta
Dr. Gerta Rücker
ruecker @end|ng |rom |mb|@un|-|re|burg@de
Wed Aug 18 15:51:38 CEST 2021
Dear Tobias,
Here I comment only to this particular point:
Am 18.08.2021 um 14:12 schrieb Tobias Saueressig:
> [...]
> 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.
This is correct.
> If I use the metamean function in meta (for comparison) it shows the
> same heterogeneity estimates wheter I log-transform or not.
This I don't understand. Heterogeneity measures should in general
strongly depend on whether the data are log-transformed or not. See
attached (fictional and quite extreme) example.
Best,
Gerta
> 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)
>
> _______________________________________________
> R-sig-meta-analysis mailing list
> R-sig-meta-analysis using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://stat.ethz.ch/pipermail/r-sig-meta-analysis/attachments/20210818/f8183b73/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: metamean.R
URL: <https://stat.ethz.ch/pipermail/r-sig-meta-analysis/attachments/20210818/f8183b73/attachment-0001.ksh>
More information about the R-sig-meta-analysis
mailing list