我是R的新手,我遇到了这个错误。这是我的数据:
datekey horseno winner draw winodds age
65529 1 0 1 10.34 7
65529 2 0 6 22.15 7
65529 3 0 2 53.13 8
65529 5 0 8 9.71 4
65529 6 0 9 2.74 4
65529 7 1 12 9.92 5
65529 8 0 5 150.81 6
65529 9 0 4 6.58 4
65529 11 0 3 16.19 6
65529 12 0 10 61.64 4
65529 13 0 11 31.03 4
65529 14 0 7 919.51 7
65598 1 1 1 2.65 7
65598 2 0 2 8.62 7
65598 3 0 6 26.3 8
65598 5 0 7 7.58 4
65598 6 0 9 97.64 4
65598 7 0 5 271.17 5
65598 8 0 11 97.64 6
65598 9 0 3 13.96 4
65598 11 0 4 54.56 6
65598 12 0 8 6.34 4
65598 13 0 10 91.23 4
65598 14 0 12 18.74 7
> library(RODBC)
> library(mlogit)
> z<-odbcConnectExcel("C:\\Users\\andrewc\\desktop\\Test4.xls")
> y<-sqlFetch(z,"Sheet2")
> x<-mlogit.data(y,choice="winner",shape="long",id.var="datekey",alt.var="horseno")
> summary(mlogit(winner~winodds+age+draw-1,data=x))
Error in `colnames<-`(`*tmp*`, value = "0") :
attempt to set 'colnames' on an object with less than two dimensions
答案 0 :(得分:0)
Y'LT; -sqlFetch(Z,&#34; Sheet2的&#34) X&LT; -mlogit.data(Y,选择=&#34;胜者&#34;,形状=&#34;长&#34;,id.var =&#34; datekey&#34;,alt.var =&# 34; horseno&#34)
从内存中,函数需要x&lt; -mlogit.data(data = y等等),但我不知道它是多么挑剔。 它还需要y作为数据帧。当你做str(y)时会发生什么?根据我的经验,从Excel电子表格导入数据可能需要在R中仔细检查。