Я очень нуб для модели lo git в R, извините !! Я пытаюсь проанализировать эксперимент с выбором, который имеет 3 атрибута (BDV, RE C и SITE), каждый из которых имеет три уровня. Таким образом, каждый идентификатор должен был рассмотреть 8 наборов вариантов, каждый набор имел 3 варианта (0, 1 и 3).
У меня есть следующие данные:
$ id : num [1:1944] 1 1 1 1 1 1 1 1 1 1 ...
$ set : num [1:1944] 1 1 1 2 2 2 3 3 3 4 ...
$ option: Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...
$ optout: chr [1:1944] "-1" "-1" "1" "-1" ...
$ choice: chr [1:1944] "FALSE" "TRUE" "FALSE" "FALSE" ...
$ REC : chr [1:1944] "rec1" "rec1" "rec0" "rec2" ...
$ BDV : chr [1:1944] "bdv1" "bdv1" "bdv0" "bdv0" ...
$ SITE : chr [1:1944] "s0" "s1" "s0" "s0" ...
$ PRICE : num [1:1944] 1000 2500 0 2500 1000 0 1500 2500 0 2500
# A tibble: 6 x 9
id set option optout choice REC BDV SITE PRICE
<dbl> <dbl> <fct> <chr> <chr> <chr> <chr> <chr> <dbl>
1 1 1 1 -1 FALSE rec1 bdv1 s0 1000
2 1 1 2 -1 TRUE rec1 bdv1 s1 2500
3 1 1 3 1 FALSE rec0 bdv0 s0 0
4 1 2 1 -1 FALSE rec2 bdv0 s0 2500
5 1 2 2 -1 TRUE rec2 bdv0 s1 1000
6 1 2 3 1 FALSE rec0 bdv0 s0 0
Я прочитал в gmnl пакет, который мне нужен для преобразования моих данных, но пример в пакете "TravelMode", который имеет только 1 атрибут ("режим")
R> TM <- mlogit.data(TravelMode, choice = "choice", shape = "long",
+ alt.levels = c("air", "train", "bus", "car"))
R> wide_TM <- reshape(TravelMode, idvar = c("individual", "income", "size"),
+ timevar = "mode", direction = "wide")
R> wide_TM$chosen_mode[wide_TM$choice.air == "yes"] <- "air"
R> wide_TM$chosen_mode[wide_TM$choice.car == "yes"] <- "car"
R> wide_TM$chosen_mode[wide_TM$choice.train == "yes"] <- "train"
R> wide_TM$chosen_mode[wide_TM$choice.bus == "yes"] <- "bus"
Я пытался использовать mlo git модель mlo git package
test.mlogit<- mlogit.data(Choicedata, choice = "choice", shape = "long", alt.var = "option",
id.var="persona", alt.levels = c("0","1","2"),
reflevel = "3", heterosc=FALSE, drop.index=TRUE, tol=1e300)
Clogit1 <- mlogit(choice~-BDV+REC+SITE+PRICE,data=test.mlogit)
summary(Clogit1)
, но у меня следующая проблема:
Error in solve.default(-H) :
system is computationally singular: reciprocal condition number = 5.43587e-17
Я читал, что это может быть мультиколлинеарность, но я также читал, но я читал это для категориальных переменных, которые не подать заявку.
Спасибо!