我有一些麻煩的水平使用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