Привет. Я пытаюсь использовать функцию mlogit для оценки модели дискретного выбора для режима работы в режиме транзита.
Вот как выглядят мои данные после использования функции mlogit.data
mledata <- mlogit.data(data, choice="choice",shape="long", chid.var="ID", alt.var="fmode")
> head(mledata[,c(86,90:96)])
ID extrabusdistance extratraindistance freq fmode y.n choice extradistance
1.car 1 0.0000 0.00000 3 car yes TRUE 0.00000
1.bus 1 19.8579 0.00000 3 bus no FALSE 19.85790
1.train 1 0.0000 27.32557 3 train no FALSE 27.32557
2.car 2 0.0000 0.00000 3 car yes TRUE 0.00000
2.bus 2 28.1311 0.00000 3 bus no FALSE 28.13110
2.train 2 0.0000 39.32078 3 train no FALSE 39.32078
У меня есть некоторые конкретные характеристики, которые я хочу включить позже, но сначала я пробую эту простую модель и получаю эту ошибку.
> f<-mlogit(choice~extradistance,mledata)
Error in if (abs(x - oldx) < ftol) { :
missing value where TRUE/FALSE needed
Также я не уверен, будет ли этополезно, но плохо включать это:
> typeof(mledata$extradistance)
[1] "double"
> typeof(mledata$choice)
[1] "logical"
Мой профессор в значительной степени использовал мой точный набор данных, показанный здесь в STATA, и он работал, поэтому любая помощь в R была бы очень признательна.В столбце выбора содержится только «ИСТИНА» или «ЛОЖЬ», и для каждого отдельного «ИД» есть одно ИСТИНА и ДВЕ ЛОЖЬ.