Клиенты сталкиваются с серией вариантов выбора уникальных альтернатив. Например:
Покупатель 1 выбирает между альтернативами A1, A2, A3, A4; Клиент 1 выбирает между вариантами B1, B2; Покупатель 2 выбирает между альтернативами C1, C2, C3; Клиент 2 выбирает между альтернативами D1, D2, D3 и т. д.
Может ли любой пакет R справиться с этим?
Например.csv
CHOICE,CUSTOMER,CHID,ALT,DIST,INCOME
1,1,1,1,100,70
0,1,1,2,372,70
0,1,1,3,417,70
0,1,1,4,180,70
1,1,2,1,68,70
0,1,2,2,354,70
0,2,3,1,68,100
0,2,3,2,354,100
1,2,3,3,399,100
1,2,4,1,180,100
0,2,4,2,100,100
0,2,4,3,80,100
mlogit не удалось
> library(mlogit)
> ExData <- read.csv("C:/Users/John/Desktop/R/example.csv")
> MLData <- mlogit.data(ExData, shape="long", choice="CHOICE", chid.var="CHID", id.var="CUSTOMER", alt.var="ALT")
> res <- mlogit(CHOICE~DIST|INCOME, data=MLData, shape="long", alt.var="ALT")
Error in `row.names<-.data.frame`(`*tmp*`, value = paste(chid, alt, sep = ".")) :
duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘2.1’, ‘2.2’, ‘3.3’
в то время как, например, 1.csv, где количество альтернатив постоянно
CHOICE,CUSTOMER,CHID,ALT,DIST,INCOME
1,1,1,1,100,70
0,1,1,2,372,70
0,1,1,3,417,70
0,1,2,1,180,70
1,1,2,2,68,70
0,1,2,3,354,70
0,2,3,1,68,100
0,2,3,2,354,100
1,2,3,3,399,100
1,2,4,1,180,100
0,2,4,2,100,100
0,2,4,3,80,100
всё хорошо.
mlogit(CHOICE~DIST|INCOME, data=MLData, shape="long", alt.levels=unique(exData$ALT))
. Не уверен, в чем разница. - person lmo   schedule 05.07.2017mnlogit
кажется, что каждая ситуация выбора должна представлять один и тот же набор вариантов выбора в каждом экземпляре. Использование здесьalt.levels
может привести к необходимости сбалансированной панели. - person lmo   schedule 05.07.2017