mlogit: пропущенное значение, где требуется TRUE / FALSE
У меня есть данные эксперимента с дискретным выбором (DCE), в котором рассматриваются предпочтения при найме лиц из разных секторов. что я отформатировал в длинный формат. Я хочу моделировать, используя mlogit. Я экспортировал данные и могу успешно запустить модель в Stata с помощью команды asclogit, но у меня возникают проблемы с ее запуском в R.
Вот снимок первых 25 строк данных:
> data[1:25,]
userid chid item sector outcome cul fit ind led prj rel
1 11275 211275 2 1 1 0 1 0 1 1 1
2 11275 211275 2 2 0 1 0 0 0 0 0
3 11275 211275 2 0 0 0 0 1 1 0 1
4 11275 311275 3 0 1 1 1 0 0 0 1
5 11275 311275 3 2 0 0 1 0 0 0 1
6 11275 311275 3 1 0 0 1 0 0 0 0
7 11275 411275 4 0 0 1 0 1 1 0 0
8 11275 411275 4 2 1 0 1 1 1 1 0
9 11275 411275 4 1 0 0 1 0 1 0 0
10 11275 511275 5 1 1 1 0 1 0 1 1
11 11275 511275 5 2 0 0 0 1 1 0 0
12 11275 511275 5 0 0 0 0 1 1 1 0
13 11275 611275 6 0 0 0 1 1 0 0 1
14 11275 611275 6 1 1 1 1 1 0 0 1
15 11275 611275 6 2 0 1 1 1 0 1 0
16 11275 711275 7 1 0 0 0 0 0 1 0
17 11275 711275 7 0 0 1 0 0 1 1 0
18 11275 711275 7 2 1 1 0 0 1 1 1
19 11275 811275 8 0 1 0 1 0 0 1 1
20 11275 811275 8 1 0 1 0 1 1 1 1
21 11275 811275 8 2 0 0 0 0 0 1 1
22 11275 911275 9 0 0 1 1 0 0 1 0
23 11275 911275 9 2 1 1 1 1 1 0 1
24 11275 911275 9 1 0 1 0 1 1 0 0
25 11275 1011275 10 0 0 0 0 0 0 0 0
userid и chid являются факторными переменными, остальные являются числовыми. Переменные: Идентификатор пользователя - уникальный идентификатор респондента. Chid - уникальный идентификатор набора выбора для каждого элемента респондента. Идентификатор набора выбора (они повторяются среди респондентов). Сектор альтернативы (3 различных сектора). Результат - альтернатива, выбранная респондентом в данном наборе выбора. это бинарные факторные переменные, специфичные для альтернатив, которые варьируются в зависимости от альтернативы в соответствии с планом эксперимента.
Вот мой синтаксис mlogit:
mlogit(outcome~cul+fit+ind+led+prj+rel,shape="long",
data=data,id.var=userid,chid.var="chid",
choice=outcome,alt.var="sector")
Вот ошибка, которую я получаю:
Error in if (abs(x - oldx) < ftol) { :
missing value where TRUE/FALSE needed
Я удостоверился, что нет никаких пропущенных данных, и что у каждого набора выбора есть точно 1 выбранная альтернатива. Любые идеи о том, почему я получаю эту ошибку, когда модель работает в Stata с точно таким же набором данных? Возможно, я где-то неправильно прочитал синтаксис mlogit. Если это поможет, мой синтаксис Stata будет следующим: asclogit: результат, подходящий, отлаженный, приведенный, приведенный prj, case (chid) альтернативы (сектор)