我有一些麻烦的水平使用mlogit水平...运行以下:错误与R中
library(mlogit)
panel.datasm = data.frame(
cbind(
round(runif(100, min=1, max=6)),
rep(1:20,each=5), runif(100, min=0, max=1),
runif(100, min=0, max=6),
runif(100, min=2, max=6) ,
runif(100, min=0, max=1),
runif(100, min=0, max=6),
runif(100, min=2, max=6) ))
names(panel.datasm) = c("choice", "id", "data_1991","data_1992",
"data_1993", "data2_1991", "data2_1992","data2_1993")
logit.data <- mlogit.data(panel.datasm, id = "id", choice = "choice",
varying= 3:5, shape = "wide", sep = "_")
不断收到错误Error in Ops.factor(data[[choice]], alt) : level sets of factors are different
我也尝试手动分配层次:
panel.datasm$id= factor(
panel.datasm$id,
levels = sort(as.character(unique(panel.datasm$id))) )
我已经尝试了一些东西,想不出什么错误。比较看看:
data("Electricity", package = "mlogit")
head(Electricity)
Electr <- mlogit.data(Electricity, id = "id", choice = "choice",
varying = 3:26, shape = "wide", sep = "")
据我所知,这是我的数据格式相同。这里发生了什么?我在我身边。
我从来没有能够得到'mlogit'工作的自动重塑。因此,我采取了手动重塑我的数据来创建所需的长格式。祝你好运。 – Andrie
PS。感谢您提出这个问题。在开始学习R之后,我试图了解'mlogit'。我无法制作代码的头部或尾部。据我所知,代码的工作原理和算法正确,但从用户的角度来看并不是特别强大。你的问题促使我再次研究'mlogit'。 – Andrie
欢迎来到StackOverflow。 – Andrie