[R-meta] Question about longitudinal that report multiple outcomes

Jack Solomon kj@j@o|omon @end|ng |rom gm@||@com
Mon Apr 26 23:49:55 CEST 2021


Dear Wolfgang,

Thank you very much for the kind response. I want to follow-up on two
things.

++++++First, I compared the syntax you suggest in your above response to
the ones you discuss here: (
https://stat.ethz.ch/pipermail/r-sig-meta-analysis/2018-July/000896.html),
but I was not able to grasp the reasoning behind the syntax you suggest in
your above response?

Per `?rma.mv`,  "~time | interaction(study,outcome)" would mean that effect
sizes with different values of "interaction(study,outcome)" are assumed to
be independent, while effects with the same values of the
"interaction(study,outcome)" share correlated random effects corresponding
to the levels of the "time".

For your data example, "interaction(study,outcome)" produces 8
elements: 1.1, 1.1, 1.2, 1.2, 2.1, 2.1, 3.1, 3.2, there are 3 matched pairs
(e.g., 1.1, 1.1) and 2 unique elements (i.e., 3.1, 3.2).

Are we saying that effect sizes corresponding to each matched pair (e.g.,
1.1, 1.1) are dependent, but the effect sizes corresponding to the  unique
elements (i.e., 3.1, 3.2) are independent from one another?

++++++Second, I understand that the syntax you suggest in your above
response provides multivariate results, but if you could possibly clarify
what is taken as crossed (I assume 'study'), and why! and what is taken as
nested and why! I can better generalize this to my own meta-analysis?


Highly appreciate your expertise,
Jack

On Mon, Apr 26, 2021 at 2:14 AM Viechtbauer, Wolfgang (SP) <
wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:

> Hi Jack,
>
> That syntax won't work. Assuming the data structure is like this:
>
> study outcome time
> ------------------
> 1     1       1
> 1     1       2
> 1     2       1
> 1     2       2
> 2     1       1
> 2     1       2
> 3     1       1
> 3     2       1
>
> then I might use:
>
> random = list(~ outcome | study, ~ time | interaction(study,outcome))
>
> with maybe struct = c("CS","AR") if the different levels of 'outcome' do
> not have any inherent meaning and are just used to distinguish different
> outcomes for the same underlying construct. If they do, then instead of
> "CS" one could use "HCS" or "UN" (in which case one might also want to use
> yi ~ factor(outcome)*factor(time) or, equivalently, yi ~ 0 +
> factor(outcome) + factor(outcome):factor(time)). But "HCS" and esp. "UN"
> adds many parameters if there are many outcomes, so this needs to be
> balanced with how much data there is.
>
> Instead of "AR", one could also consider "HAR" or "CAR", but that again
> depends on how much data there is and the spacing of the timepoints.
>
> Finally, strictly speaking, the 'V' matrix should then reflect not only
> the covariances in multiple observations of the same outcome over time, but
> also among different outcomes (and of different outcomes measured at
> different time points). Constructing such a V matrix is tricky. The
> impute_covariance_matrix() function from the clubSandwich could be useful
> for this (to construct an approximate V matrix). This can then be followed
> by using cluster robust inference methods.
>
> Best,
> Wolfgang
>
> >-----Original Message-----
> >From: Jack Solomon [mailto:kj.jsolomon using gmail.com]
> >Sent: Tuesday, 20 April, 2021 17:39
> >To: r-sig-meta-analysis using r-project.org
> >Subject: Question about longitudinal that report multiple outcomes
> >
> >Hi List Members,
> >
> >I was wondering, in this example
> >(https://wviechtb.github.io/metafor/reference/dat.ishak2007.html), if the
> >longitudinal studies also reported multiple outcomes, would we change our
> syntax
> >to:
> >
> >metafor::rma.mv(yi ~ 0 + factor(time), V, random = ~ time | study /
> outcome,
> >struct = "HAR", data = dat.long)
> >
> >Or additional changes to V also would be recommended?
> >
> >Thank you,
> >Jack
>

	[[alternative HTML version deleted]]



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