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

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Wed Apr 28 12:08:51 CEST 2021


Dear Jack,

Please see below for my responses.

Best,
Wolfgang

>-----Original Message-----
>From: Jack Solomon [mailto:kj.jsolomon using gmail.com]
>Sent: Monday, 26 April, 2021 23:50
>To: Viechtbauer, Wolfgang (SP)
>Cc: r-sig-meta-analysis using r-project.org
>Subject: Re: Question about longitudinal that report multiple outcomes
>
>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?

I can't quite parse your question. We are saying that the two 1.1 effects are dependent and that the two 1.2 effects are dependent and that the two 2.1 effects are dependent. But the two 1.1 effects are not correlated with any of the other effects and so on. If this is what you meant, then yes.

>++++++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?

There is nothing crossed here. The model below specifies a hierarchical model with random effects for the different levels of outcome within studies and random effects for the different levels of time within outcomes (which in turn are nested within studies). So, it looks like this:

     s1        s2      s3
     /\         |      /\
    /  \        |     /  \
   /    \       |    /    \
  o1    o2     o1   o1    o2
  /\    /\     /\    |     |
 /  \  /  \   /  \   |     |
t1  t2 t1 t2 t1  t2  t1    t1

>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


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