【发布时间】:2018-10-05 22:46:14
【问题描述】:
您好,我正在尝试使用 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 中的任何帮助。选择列中只包含“TRUE”或“FALSE”,每个“ID”有一个 TRUE 和两个 false。
【问题讨论】: