我在R中使用库(mlogit)并且我遇到错误消息:
Error in solve.default(H, g[!fixed]) :
system is computationally singular: reciprocal condition number = 8.41187e-25
使用mlogit.data函数我制作了以下结构。
x <- mlogit.data(choice = "choice", shape = "long", data, alt.var = "alt", chid.var = "chid", varying = 7:11)
> head(x, n=9)
chid choice x1 x2 x3 x4 y1 y2 y3 y4 y5 alt
1.1 1 FALSE 1 1 4 7 0.04407 2490.17 0 80.00 2.277 1
1.2 1 FALSE 1 1 4 7 0.06035 3300.83 0 239.00 2.421 2
1.3 1 FALSE 1 1 4 7 0.06757 4450.70 0 242.37 2.555 3
1.4 1 TRUE 1 1 4 7 0.08850 5840.50 0 423.79 2.712 4
1.5 1 FALSE 1 1 4 7 0.11074 13240.38 0 618.03 2.858 5
1.6 1 FALSE 1 1 4 7 0.11990 15630.13 0 921.17 2.972 6
1.7 1 FALSE 1 1 4 7 0.04715 7800.00 0 320.00 2.463 7
1.8 1 FALSE 1 1 4 7 0.04176 8373.70 0 450.00 2.539 8
1.9 1 FALSE 1 1 4 7 0.04576 12318.20 0 600.00 2.628 9
有9个选择,x1~x4是个别特定变量,y1~y5是备选的特定变量。 x1是分类变量,取1或2. x2和x3是整数变量,x4是分类变量,取7个整数值。 y都是数字变量,但y2和y3被删失,因此观察到0。 所以在上面的例子中,person1选择了替代4,x1~x4都是相同的,因为它们是个体特定的。 我制作了一个条件多项logit公式,如下所示。
这就是问题所在。我想我的所有设置与mlogit包示例完全相同,但我不断收到此错误消息!
f <- mFormula(choice ~ y1 + y2 + y3 + y4 + y5 | x1 + x2 + x3 + x4)
m <- mlogit(f, data = x, shape = "long", choice = "choice", alt.var = "alt", chid.var = "chid")
Error in solve.default(H, g[!fixed]) : system is computationally singular: reciprocal condition number = 8.41187e-25
我在这里很新,而且我真的不知道我是否以正确的方式提问。 但我真的需要帮助,如果有人能帮我解决这个问题,我将不胜感激......谢谢!