我尝试打开excel文件并进行回归分析,但是有一些错误。我没有使用过这个程序而不是几次,所以我在这里编写命令,如果有人能帮我这么好..
> library(RODBC)
> library(mlogit)
Loading required package: Formula
Loading required package: statmod
Loading required package: lmtest
Loading required package: zoo
Attaching package: 'zoo'
The following object(s) are masked from 'package:base':
as.Date
Loading required package: maxLik
Loading required package: miscTools
> z<-odbcConnectExcel("C:\\2008 Racedata.xls")
> y<-sqlFetch(z,"Sheet1")
> x<-mlogit.data(y,choice="winner",shape="long",id.var="datekey",alt.var="horseno")
Error in `row.names<-.data.frame`(`*tmp*`, value = c("1.8", "1.11", "1.6", :
duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘10.2’, ‘10.4’, ‘10.8’, ‘100.7’, ‘101.1
答案 0 :(得分:0)
我不知道ODBC驱动程序在导入数据时如何分配row.names
。我希望它不允许重复,因为R不允许在同一数据帧中重复行名称。看起来row.names
被第一列中的任何内容分配。
为了保证数据框具有唯一的行名,您可以执行以下操作:
row.names(y) <- 1:length(y[,1])