[R-meta] nesting an inner | outer formula

Ross Neville ro@@@nev|||e @end|ng |rom ucd@|e
Fri Feb 14 14:32:18 CET 2025


Dear Wolfgang

Thanks for the speedy response, and for seeking clarification and
correcting my error.

Rather than try to correct my interpretation of the SAS code, perhaps it
would make more sense to tell you what structure I really want.

The data structure is such that I have studies (*StudyID*) reporting
post-intervention means for children in an experimental and control group (
*TreatmentGroup*). The variable *Informant* tells us who is reporting on
behalf of the child. Some studies have child report only (so two rows for
such a StudyID corresponding to the post-intervention means for the
experimental and control group). Studies with parent report or teacher
report only are the same (two rows). There are also studies where there is
data from child and parent, child and teacher, teacher and parent, or even
child parent and teacher. So, essentially, a StudyID could have two rows,
four rows, or six rows, depending on how many Informants there are.
Children are in the experimental or control group only, so one would expect
Informants to be nested and correlated within TreatmentGroup within studies.

Because of the data structure (multiple rows of sample means rather than
fewer rows of pairwise comparisions) the degree to which control and
intervention group means are more or less similar in a given StudyID is
capture in part (maybe even large part) by ~ 1 | StudyID.

What is missing from this random = list (~ 1 | StudyID, ~ Informant |
TreatmentGroup) is the fact that the inner | outer is saying, for example,
that parents in the experimental or control group across studies share
correlated random effects. When, in fact, one would expect parents,
children, and teachers in the experimental or control group to share
correlated random effects within a given study.

Perhaps given the data structure, you would advise something else. Or
perhaps I am still being unclear in my description and understanding.

Regards
Ross


On Fri, 14 Feb 2025 at 13:00, Viechtbauer, Wolfgang (NP) <
wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:

> Dear Ross,
>
> my proc mixed knowledge is a bit rusty, but unless I am confused, your
> proc mixed statement specifies a random intercept for StudyID and an UN
> structure for Informant within StudyID allowing for different
> variances/covariances for the different levels of TreatmentGroup.
>
> > random StudyID;
> > random Informant / subject=StudyID group=TreatmentGroup type=un;
> > parms  1  1 1 1  1 1 1  1 1 1  1 1 1  1 / hold=14;
>
> I don't think this quite matches up with your description:
>
> > I would like for the different levels of Informant to be correlated
> within
> > TreatmentGroup within StudyID, and I would like the different levels of
> > TreatmentGroup to be correlated within StudyID too.
>
> For example, there is nothing in your proc mixed statement that allows for
> "TreatmentGroup to be correlated within StudyID". Also, the second random
> statement allows for Informant to be correlated within StudyID, but *not*
> "within TreatmentGroup within StudyID".
>
> So before I attempt to recreate the same structure, it would need to be
> clear exactly what kind of structure you really want.
>
> Best,
> Wolfgang
>
> > -----Original Message-----
> > From: Ross Neville <ross.neville using ucd.ie>
> > Sent: Thursday, February 13, 2025 18:28
> > To: Viechtbauer, Wolfgang (NP) <
> wolfgang.viechtbauer using maastrichtuniversity.nl>;
> > r-sig-meta-analysis using r-project.org
> > Subject: nesting an inner | outer formula
> >
> > Hi Wolfgang
> >
> > I hope this email finds you well
> >
> > I was wondering if you could tell me whether the following list of random
> > effects can be updated to make the the inner | outer formula conditional.
> >
> > random = list (~ 1 | StudyID, ~ Informant | TreatmentGroup)
> >
> > I would like for the different levels of Informant to be correlated
> within
> > TreatmentGroup within StudyID, and I would like the different levels of
> > TreatmentGroup to be correlated within StudyID too.
> >
> > In SAS Proc Mixed, I've managed to run this model and I want to
> replicate it in
> > metafor rma.mv.
> >
> > random StudyID;
> > random Informant/subject=StudyID, group=TreatmentGroup type=un;
> > parms  1  1 1 1  1 1 1  1 1 1  1 1 1  1/hold=14;
> >
> > Any help you can provide to let me know if this is possible in
> http://rma.mv
> > would be much appreciated.
> >
> > Regards
> > Ross
> >
> > --
> > Dr Ross D. Neville, PhD, ProfCert University Teaching and Learning
> > Head of Subject - Sport Management
> > School of Public Health, Physiotherapy and Sport Science
> > University College Dublin (UCD)
> > Room G6 - Woodview House
> > Belfield, Dublin 4
> > mailto:ross.neville using ucd.ie
> > +353 (0) 1 716 3419
>


-- 
Dr Ross D. Neville, PhD, ProfCert University Teaching and Learning
Head of Subject - Sport Management
School of Public Health, Physiotherapy and Sport Science
University College Dublin (UCD)
Room G6 - Woodview House
Belfield, Dublin 4
ross.neville using ucd.ie
+353 (0) 1 716 3419

	[[alternative HTML version deleted]]



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