[R-meta] Random slopes in rma.mv
|r@nc|@co@n|ne| @end|ng |rom hotm@||@com
Sun May 23 21:24:33 CEST 2021
I thought adding 0 accounted for uncorrelated random intercept and slopes -> (~ X + 0 | ID2), equivalently (~ X || ID2). From what you tell me, 0 and -1 would be analogous then.
Regarding the last question, it was purely exploratory. I�ll be applying profile() to test it out.
From: Viechtbauer, Wolfgang (SP)<mailto:wolfgang.viechtbauer using maastrichtuniversity.nl>
Sent: Sunday, May 23, 2021 3:11 PM
To: Francisco Tapia<mailto:francisco.ninel using hotmail.com>; r-sig-meta-analysis using r-project.org<mailto:r-sig-meta-analysis using r-project.org>
Subject: RE: Random slopes in rma.mv
>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On
>Behalf Of Francisco Tapia
>Sent: Sunday, 23 May, 2021 20:33
>To: r-sig-meta-analysis using r-project.org
>Subject: Re: [R-meta] Random slopes in rma.mv
>Thanks for your answers Wolfgang. I'll clarify some points:
> 1. Indeed, the structure (~X | ID2/ID1) does not work. This point connected
>with the 2nd one, as I wanted to know how to add the random slopes just for ID2.
> 2. Could the following structure work in the same way?
>Random = list( ~ 1 | ID2, ID1, ~ X -1 | ID2) (Using the lmer syntax)
I think you meant: list(~ 1 | ID2/ID1, ~ X -1 | ID2)
You could do that too, but this implies that the random intercepts for ID2 are assumed to be uncorrelated with the random slopes for ID2. With
list(~ 1 | interaction(ID2,ID1), ~ X | ID2)
the random intercepts and slopes are allowed to be correlated.
> 1. So sorry it wasn't clear enough. I meant:
>Level 1: Effect sizes.
>Level 2: ID1
>Level 3: ID2 and ID3
>Which translates to:
>ES / ID1 / (ID2 & ID3), therefore I would have the effect size Yi(jk), where the
>i-eth outcome is crossed between ID2 and ID3, both at the same level 3.
If you want to know if you could do something like random = list(~ x | ID2, ~ x | ID3), then yes, in principle that is possible. I don't know whether this makes sense in the context of your data or whether the parameters of such a model are identifiable (profile() can help to determine the latter).
>Thanks again for your answers!
>From: Viechtbauer, Wolfgang
>(SP)<mailto:wolfgang.viechtbauer using maastrichtuniversity.nl>
>Sent: Sunday, May 23, 2021 12:45 PM
>To: Francisco Tapia<mailto:Francisco.ninel using hotmail.com>; r-sig-meta-analysis using r-
>project.org<mailto:r-sig-meta-analysis using r-project.org>
>Subject: RE: Random slopes in rma.mv
>See below for my responses.
>>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On
>>Behalf Of Francisco Tapia
>>Sent: Thursday, 20 May, 2021 18:29
>>To: r-sig-meta-analysis using r-project.org
>>Subject: [R-meta] Random slopes in rma.mv
>>Dear metanalysis community:
>>A couple of days ago, Wolfgang provided me the information to add random slopes
>>rma.mv, from the metafor package
>>By changing the struct to "GEN", I can now add random to my multilevel model. As
>>the documentation is not up yet, I wanted to check some things regarding syntaxis
>>of the code and the logic behind it:
>> 1. If I have ID1 nested within ID2, my structure of random effects would be: (
>>~ 1 | ID2/ID1) for random intercepts. If I want to add random slopes to ID2,
>>Should I do it in another random effect? For example, If I add random slopes to (
>>~ 1 | ID2/ID1), therefore -> ( ~ X | ID2/ID1), I'll be adding random slopes for
>>each level of ID1 within ID2, and for ID2 as well. Should I leave ( ~ 1 |
>>ID2/ID1) alone and create another random effect to add random slopes just for
>~ X | ID2/ID1 doesn't work anyway (you should get an error if you try, at least if
>you have the 'devel' version installed).
>> 2. If I create another random effect to add random slopes to ID2, for example,
>>(~ X | ID2), Would I be adding another random intercept for ID2? If so, How, an
>>unnecessary intercept, can affect my model? I cannot see it very clearly
>Yes, you would be adding random intercepts for each level of ID2 twice. I would
>avoid doing so. You could do:
>random = list(~ 1 | interaction(ID2,ID1), ~ X | ID2), struct="GEN"
>to add random intercepts for each ID2-ID1 combination (i.e., for ID1 nested within
>ID2) and random intercepts and slopes for each level of ID2.
>> 3. If I have a crossed random effect at the same level as ID2, let's say (~ 1
>>|ID3) for random intercepts. Can both of them, ID2 and ID3, have different random
>>slopes structure from each other, despite being in the same level?
>I don't understand what you mean by ID3 being 'at the same level' as ID2.
>>Thanks in advance!
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis