[R-meta] R-help: rma() in metafor drops levels in variables that correlates perfectly with levels in another variable

LIM, Wey Wen wwen at connect.hku.hk
Wed Oct 25 19:03:41 CEST 2017

Dear R-sig-meta-analysis list members,

I would like to seek your help/advice in solving the problem I have
encountered recently.

When using the rma(... mods=~var1+var2+var3...) command for
meta-regression on subsets of datasets, metafor has a convenient
feature which automatically drops levels within variables that either
do not have studies/data. However, I have also found that it also
drops some of the levels within variables that correspond perfectly
with levels of other variables.

For example, a dataset like the one below will result in the dropping
of level 3 in variable 2 (because it corresponds to only level 2 of
variable 1) despite the level being represented in the dataset.

Variable [,1] [,2] [,3]
Study A   1    1     2
Study B   1    2     2
Study C   1    3     1
Study D   2    3     3
Study E   2    3     1
Study F   2    3     2
Study G   3    1    3
Study H   3    1    3
Study I    3     2    2

As there is still data for level 3 in variable 2, we would still like
to report the regression coefficient for that level.

Thus, my questions are:
1) Is the dropping of levels an intentional feature in metafor due to
statistical/computational reasons?
2) If it is, what is the reason behind this feature? (If collinearity
is an issue, it only applies to the specific level within a variable,
not between variables.)
3) If it is not, what is the possible reason behind this and can we
program rma() to keep the level despite it being perfectly correlated
with a level of only one other variable?

Have anyone of you encountered this problem before? If so, how did you
overcome it?

Warm regards,
Wey Wen

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