mlogit: valor faltante donde se necesita VERDADERO / FALSO
Tengo datos de un experimento de elección discreta (DCE), que analiza las preferencias de contratación para personas de diferentes sectores. que he formateado en formato largo. Quiero modelar usando mlogit. He exportado los datos y puedo ejecutar con éxito el modelo en Stata usando el comando asclogit, pero tengo problemas para que se ejecute en R.
Aquí hay una instantánea de las primeras 25 filas de datos:
> 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 y chid son variables de factor, el resto son numéricos. Las variables: ID de usuario es ID de encuestado único chid es ID de conjunto de elección único por elemento de encuestado es ID de conjunto de elección (se repiten entre encuestados) sector es alternativas (3 sectores diferentes) el resultado es alternativo seleccionado por el encuestado en el conjunto de elección dado cul-rel son variables de factores binarios, alternativas específicas que varían según las alternativas según el diseño experimental.
Aquí está mi sintaxis de mlogit:
mlogit(outcome~cul+fit+ind+led+prj+rel,shape="long",
data=data,id.var=userid,chid.var="chid",
choice=outcome,alt.var="sector")
Aquí está el error que recibo:
Error in if (abs(x - oldx) < ftol) { :
missing value where TRUE/FALSE needed
Me he asegurado de que no faltan datos y de que cada conjunto de opciones tiene exactamente 1 alternativa seleccionada. ¿Alguna idea sobre por qué recibo este error, cuando el modelo funciona bien en Stata con exactamente el mismo conjunto de datos? Probablemente he leído mal la sintaxis de mlogit en alguna parte. Si ayuda, mi sintaxis de Stata es: asclogit result cul fit rel ind fit led prj, case (chid) alternativa (sector)