Я пытаюсь запустить декомпозицию Oaxaca с помощью пакета oaxaca, но включение определенных переменных, по-видимому, вызывает ошибку "несовместимые аргументы". Насколько я могу судить, ошибка возникает только при включении определенных факторных/категориальных переменных, но не всех факторных/категориальных переменных.
Вот минимальный воспроизводимый пример моего набора данных, wvs_reduc:
structure(list(emp = c(1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0,
1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0), education = structure(c(4L, 3L, 2L, 2L, 3L,
3L, 2L, 6L, 4L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 4L, 4L, 1L, 2L, 4L,
4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 3L, 2L, 4L, 4L, 4L, 3L,
2L, 4L, 3L), .Label = c("No Formal Education", "Primary or Less",
"Incomplete Secondary", "Secondary", "Incomplete University",
"University or More"), class = "factor"), marital = structure(c(1L,
1L, 3L, 3L, 1L, 3L, 3L, 1L, 1L, 3L, 3L, 1L, 3L, 4L, 3L, 1L, 1L,
4L, 3L, 1L, 3L, 4L, 1L, 3L, 3L, 3L, 3L, 1L, 3L, 4L, 4L, 4L, 4L,
3L, 3L, 4L, 3L, 3L, 4L, 3L), .Label = c("single", "cohabiting",
"married", "previously married"), class = "factor"), Arab = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), row.names = c(NA,
-40L), class = c("tbl_df", "tbl", "data.frame"))
Когда я запускаю команду:
library(oaxaca)
oaxaca(emp ~ education + marital | Arab,
data = wvs_reduc, group.weights = 0, R = 10)
Я получаю сообщение об ошибке: Ошибка в t(x.mean.A) %*% delta.A: несоответствующие аргументы.
Если это уместно, когда я запускаю команду для своего большего набора данных, вместо этого я получаю аналогичную, но не идентичную ошибку с включением переменной «брак», но не «образование» или другие переменные фактора:
Ошибка в t(x.mean.A - x.mean.B) %*% beta.B: несоответствующие аргументы