[R-meta] setting certain covariances to 0 for the random LHS term

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Thu Sep 5 13:40:20 CEST 2019

Hi Gil,

I cannot answer the first question ("Does that seem OK to you?") without more details.

As for the complexity of the model, it has (as far as I can tell), 6 (rho) + 6 (phi) + 4 (tau2) + 4 (gamma2) + 2 (sigma2) = 22 parameters for the random effects structure. Still a lot, but might be feasible with 2500 data points. Of course, that alone isn't sufficient to determine whether this is the case; it also matter how those data points are distributed over the various levels and combinations.

As for struct="UN" -- that is fine. It automatically gets expanded to struct=c("UN","UN") inside of the function anyway.


-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On Behalf Of Gram, Gil (IITA)
Sent: Thursday, 05 September, 2019 11:00
To: r-sig-meta-analysis using r-project.org
Subject: Re: [R-meta] setting certain covariances to 0 for the random LHS term

Hi Wolfgang,

Thanks again. I understand the issue, and I was indeed afraid the model would be getting far too complex.

My alternative was to fit separate models for each class of organic resource (OR), only in order to get their individual variances. Does that seem OK to you?

And lastly, my full model would then look like this, with treatment having 4 levels and 2500 data points. As far as you can tell, not too complex?

res = rma.mv(sqrt(yi), vi, method = 'REML', struct=c(“UN”, “UN”), sparse=TRUE, data=dat,
                         mods = ~ rateORone + rateORtwo + rateORthree + rateORManure + kgMN
                         + I(rateORone^2) + I(rateORtwo^2) + I(rateORthree^2) + I(rateORManure^2) + I(kgMN^2)
                         + rateORone:kgMN + rateORtwo:kgMN + rateORthree:kgMN + rateORManure:kgMN
                         + I(rateORone^2):I(kgMN^2) + I(rateORtwo^2):I(kgMN^2) + I(rateORthree^2):I(kgMN^2) + I(rateORManure^2):I(kgMN^2)
                         + cropSys + idF,
                         random = list(~1|ref, ~1|idRow, ~ treatment | idSite, ~ treatment | idSite.time))

I was indeed only using struct=“UN” instead of c(“UN”, “UN”), will change that, thanks!

Appreciate your help, as always.

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