对于二元选择,我知道我可以使用glm
来估计二进制Probit模型。但是,出于教学目的,由于我将在稍后阶段(有两个以上的替代方案)继续进行多项选择,我尝试一直使用mlogit
包。奇怪的是,mlogit
包似乎无法处理二进制Probit问题。
假设我导入的数据集称为“data.set”。可以从this link下载CSV文件。
这是我的程序
鉴于已将CSV数据导入为data.set。我运行以下几行。
library(mlogit)
data.set2<-mlogit.data(data.set,choice='GRADE',shape='wide')
mlogit(GRADE~ 0 | GPA+TUCE+PSI ,data=data.set2,probit=TRUE)
然后我收到错误消息:
M [,((i - 1):( J - 2))]中的错误:下标越界 另外:警告信息: 在rbind(0,diag(J - 2))中: 结果列数不是向量长度的倍数(arg 1)
我的“data.set2”是一个mlogit
数据框,如下所示:
GPA TUCE PSI GRADE chid alt
1.0 2.66 20 0 TRUE 1 0
1.1 2.66 20 0 FALSE 1 1
2.0 2.89 22 0 TRUE 2 0
2.1 2.89 22 0 FALSE 2 1
3.0 3.28 24 0 TRUE 3 0
3.1 3.28 24 0 FALSE 3 1