我正在通过mlogit让我的数据集形状中进行多项式逻辑分析。我的数据集可从以下代码中的url获得。mlogit的格式化数据
,我发现了以下错误:
Error in
row.names<-.data.frame
(*tmp*
, value = c("1.Accessible", "1.Accessible", : duplicate 'row.names' are not allowed
我在其他地方检查,这个问题似乎就上来了。我试过玩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)
啊。 **使用* reshape/reshape2/cast *包**。当我花费两三天的时间尝试将数据按摩到mlogit的形式时,你会给我模糊的倒叙,与* reshape/reshape2/cast *进行争吵。最后,我发现在我的特定问题上,mlogit表现不及其他算法。哦,我笑了。美好时光,美好时光。 – smci