-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces at r-project.org] On
Behalf Of Yuhang Hu via R-sig-meta-analysis
Sent: Tuesday, 28 March, 2023 6:35
To: R meta
Cc: Yuhang Hu
Subject: Re: [R-meta] Metafor modeling question
Dear Wolfgang,
Thanks you so much for your response. Regarding the fitted vs residuals
plot, if we see a violation (e.g., heteroskedasticity and/or non-random
pattern in residuals' distribution around the regression line) as in the
case below, what should we do?
I would imagine that if I was working with an rma.uni() model, I could
model the heteroskedasticity using the 'scale=' argument?
Thanks,
Yuhang
mm <- rma.mv(yi ~ SES, vi, random = list(~SES|study, ~SES|outcome),
struct = c("GEN","GEN"), data = dat)
plot(fitted(mm), resid(mm))
dat <- structure(list(study = c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 6L,
7L, 7L, 8L, 8L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 11L, 12L,
13L, 13L, 14L, 14L, 15L, 15L, 16L, 16L, 17L, 18L, 18L, 18L, 18L,
18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L,
18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L,
18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 19L, 19L, 20L,
20L), group = c(1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1), outcome = c("A",
"A", "B", "B", "B", "B", "B", "A", "A", "A", "B", "A", "A", "A",
"B", "A", "B", "A", "B", "A", "B", "B", "A", "A", "B", "B", "B",
"A", "A", "B", "B", "A", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "A", "B", "A", "B"), SES = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 13, 10, 8, 16, 3, 2, 18, 1,
5, 4, 20, 11, 9, 14, 17, 15, 6, 12, 19, 7, 13, 10, 8, 16, 3,
2, 18, 1, 5, 4, 20, 11, 9, 14, 17, 15, 6, 12, 19, 1, 1, 1, 1),
yi = c(0.661693, 0.594366, 1.199301, 1.626664, 1.216272,
-0.751534, -1.170659, 0.959518, 0.353214, 1.595024, 1.689419,
0.462459, 1.324527, 0.61639, 0.615806, 0.616544, 0.617199,
1.420133, 1.542125, 1.338082, 1.523729, 0.569801, 1.041618,
6.796397, 3.241257, 0.97541, 1.369298, 1.706266, 1.964219,
1.554362, 1.693888, 0.939487, 0.349941, 0.364232, 0.41826,
0.37037, 0.378151, 0.265958, 0.250613, 0.32379, 0.318541,
0.331738, 0.373367, 0.242215, 0.420524, 0.153225, 0.287845,
0.43818, 0.315411, 0.264576, 0.33054, 0.35668, 0.393478,
0.468176, 0.342097, 0.39018, 0.332325, 0.414179, 0.303209,
0.290351, 0.398231, 0.283192, 0.290464, 0.352266, 0.323642,
0.357534, 0.18504, 0.349599, 0.322425, 0.330017, 0.273626,
0.484511, 3.087989, -0.427958, 1.133235, 1.073414), vi = c(0.030703,
0.355305, 0.190678, 0.525746, 0.257342, 0.371465, 0.65578,
0.970636, 0.605049, 0.584372, 0.185532, 0.140877, 0.618397,
0.880055, 0.29737, 0.186943, 0.376905, 0.327622, 0.232547,
0.288472, 0.88999, 0.203553, 0.202477, 0.94609, 0.694122,
0.79155, 0.260697, 0.689051, 0.332882, 0.883863, 0.265871,
0.443643, 0.71795, 0.325523, 0.720786, 0.905436, 0.777423,
0.424495, 0.449885, 0.436236, 0.551392, 0.412329, 0.841006,
0.03359, 0.592244, 0.159267, 0.430026, 0.044465, 0.341106,
0.163984, 0.037114, 0.9678, 0.215364, 0.111536, 0.292115,
0.548628, 0.25953, 0.217442, 0.615006, 0.108288, 0.80669,
0.789254, 0.312538, 0.996466, 0.277414, 0.975438, 0.710994,
0.028242, 0.488088, 0.921909, 0.622881, 0.145062, 0.240907,
0.461285, 0.881521, 0.974101)), row.names = c(NA, -76L), class =
"data.frame")
On Mon, Mar 27, 2023 at 12:49?AM Viechtbauer, Wolfgang (NP) <
wolfgang.viechtbauer at maastrichtuniversity.nl> wrote: