我正在为通过 mlogit 进行多项 logit 分析整理我的数据集而度过了一段痛苦的时光。我的数据集可从下面代码中的url获得。
我收到以下错误:
row.names<-.data.frame
( , value = c("1.Accessible", "1.Accessible", 中的错误*tmp*
:不允许重复的 'row.names'
我在其他地方检查过,似乎出现了这个问题。我尝试过使用与论点alt.levels
相反的方法alt.var
,但这不起作用。
#Loadpackages
library(RCurl)
library(mlogit)
library(tidyr)
library(dplyr)
#URL where data is stored
dat.url<- 'https://raw.githubusercontent.com/sjkiss/Survey/master/mlogit.out.csv'
#Get data
dat<-read.csv(dat.url)
#Complete cases only as it seems mlogit cannot handle missing values or tied data which in this case you might get because of median imputation
dat<-dat[complete.cases(dat),]
#Tidy data to get it into long format
dat.out<-dat %>%
gather(Open, Rank, -c(1,9:12))
#Try to replicate code on pp.26-27 of http://cran.r- project.org/web/packages/mlogit/vignettes/mlogit.pdf
mlogit.out<-mlogit.data(dat.out, shape='long',alt.var='Open',choice='Rank', id.var='X',ranked=TRUE)
#Try this option as per a discussion on stackexchange
mlogit.out<-mlogit.data(dat.out, shape='long',alt.levels='Open',choice='Rank', id.var='X',ranked=TRUE)