[R-meta] metafor::matreg() and its workflow

Stefanou Revesz @te|@noureve@z @end|ng |rom gm@||@com
Mon Dec 13 21:19:37 CET 2021


Thank you so much! One clarification question. matreg() is not
effect-size specific, correct? I mean you may have meta-analyzed any
type effect size (SMD, ROM, OR, ...) and then subject the vcov() or G
or H matrices of those meta-analyses to matreg(), correct?

Thanks again,
Stefanou

On Mon, Dec 13, 2021 at 12:53 PM Viechtbauer, Wolfgang (SP)
<wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
>
> There is an upcoming talk by Suzanne Jak on MASEM at this seminar series:
>
> https://www.srmasig.org/seminar/
>
> Might be of interest.
>
> Best,
> Wolfgang
>
> >-----Original Message-----
> >From: Stefanou Revesz [mailto:stefanourevesz using gmail.com]
> >Sent: Thursday, 09 December, 2021 23:23
> >To: Viechtbauer, Wolfgang (SP)
> >Cc: R meta
> >Subject: Re: metafor::matreg() and its workflow
> >
> >Dear Wolfgang,
> >
> >I see, so conditioning (using predict() ) is the way to go even if
> >there is a large set of conditions.
> >
> >Related to the above, if instead of vcov(), one intends to use G and H
> >matrices (latent regression), would that also require conditioning on
> >the levels of fixed effects?
> >
> >The other challenge that I expect to encounter (I'm preparing to do a
> >meta-analysis exploring anxiety and achievement) is that correlations
> >reported in each study may not reflect the same pair of variables
> >across the studies. Thus, this prevents me from having a "var1.var2"
> >like variable in my model which also means I can't proceed to mateg().
> >I believe, in that case, I can do only an exploratory study of
> >correlations (with rma.mv() ) rather than a model based one (with
> >matreg() ).
> >
> >Thank you,
> >Stefanou
> >
> >
> >On Thu, Dec 9, 2021 at 12:24 PM Viechtbauer, Wolfgang (SP)
> ><wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
> >>
> >> I don't know what it is you are really trying to accomplish. One can stick
> >moderators into the rma.mv() model, sure. So one can 'control' for them, or in
> >other words, the estimated correlation matrix will then be a conditional estimate
> >given a certain set of values for the moderators. That can be further passed on
> >to matreg(). But I don't know if this is what you want to do, so I cannot say
> >whether this is methodologically reasonable or whether a more reasonable exists -
> >- to accomplish what? And what exactly is the problem of moderators in the
> >rma.mv() fit?
> >>
> >> Best,
> >> Wolfgang
> >>
> >> >-----Original Message-----
> >> >From: Stefanou Revesz [mailto:stefanourevesz using gmail.com]
> >> >Sent: Thursday, 09 December, 2021 18:40
> >> >To: Viechtbauer, Wolfgang (SP)
> >> >Cc: R meta
> >> >Subject: Re: metafor::matreg() and its workflow
> >> >
> >> >Thanks Wolfgang,
> >> >
> >> >But is what I have done a methodologically reasonable way to do this,
> >> >or a more reasonable way exists.
> >> >
> >> >It's great that vcov() or random effects var-covariance matrix can be
> >> >obtained from an rma.mv() fit and then used in a secondary SEM
> >> >framework.
> >> >
> >> >But it seems to me that moderators used in rma.mv() get in the way,
> >> >and I often have several of them.
> >> >
> >> >So, is there any literature on this or a strategy to get around the
> >> >problem of moderators in the rma.mv() fit?
> >> >
> >> >Thank you for your guidance,
> >> >Stefanou
> >> >
> >> >On Thu, Dec 9, 2021 at 11:17 AM Viechtbauer, Wolfgang (SP)
> >> ><wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
> >> >>
> >> >> >-----Original Message-----
> >> >> >From: Stefanou Revesz [mailto:stefanourevesz using gmail.com]
> >> >> >Sent: Tuesday, 07 December, 2021 23:41
> >> >> >To: Viechtbauer, Wolfgang (SP)
> >> >> >Cc: R meta
> >> >> >Subject: Re: metafor::matreg() and its workflow
> >> >> >
> >> >> >Hi Wolfgang,
> >> >> >
> >> >> >Once again, thank you for the chapter and the two useful resources.
> >> >> >For concreteness, are the last two lines OK to use or other solutions
> >> >> >exist?
> >> >> >
> >> >> >Many thanks,
> >> >> >Stefanou
> >> >> >
> >> >> >set.seed(0)
> >> >> >dat <- dat.craft2003
> >> >> >dat$Xwb <- rnorm(nrow(dat),rnorm(nrow(dat),9,4),2)
> >> >> >
> >> >> >tmp <- rcalc(ri ~ var1 + var2| study, ni=ni, data=dat)
> >> >> >V <- tmp$V
> >> >> >dat$var1.var2 <- tmp$dat$var1.var2
> >> >> >
> >> >> >dat$var1.var2 <- factor(dat$var1.var2,
> >> >> >                        levels=c("acog.perf", "asom.perf",
> >> >> >"conf.perf", "acog.asom", "acog.conf", "asom.conf"))
> >> >> >
> >> >> >res <- rma.mv(ri~ 0+var1.var2+sport+Xwb, V, random = ~ var1.var2 |
> >> >> >study, struct="UN", data=dat)
> >> >> >
> >> >> >R <- vec2mat(coef(res)[1:6]) # Is this OK?
> >> >>
> >> >> The first 6 coefficients are the estimated pooled correlations when 'sport'
> >is
> >> >I and when Xwb is 0. If this is what you want, then this is ok.
> >> >>
> >> >> >matreg(1, 2:4, R=R, V=vcov(res)[1:6,1:6]) # Is this OK?
> >> >>
> >> >> If the above is ok, then this is ok.
> >> >>
> >> >> Best,
> >> >> Wolfgang



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