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

Stefanou Revesz @te|@noureve@z @end|ng |rom gm@||@com
Thu Dec 9 23:22:40 CET 2021


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