使用 mlogit R 函数时出错:两个索引未定义唯一观测值



我在 R 中的 mlogit 功能有问题。我的数据集如下所示:

personID    caseID   altID    choice   a1    a2    a3    a4  
1          1        1         1      3     0     3     1
1          1        2         0      1     3     0     1
1          1        3         0      4     4     4     4
1          2        1         0      2     2     1     3
1          2        2         1      2     3     1     3
etc....

我尝试运行以下代码,执行模型。

setV2 <- mlogit.data(data = setV2, choice = "choice", shape = "long", alt.var = "altID", chid.var = "personID")
m <- mlogit(choice ~ a1 + a2 + a3 + a4 | -1, rpar = c(a1 = "n", a2 = "n", a3 = "n", a4 = "n"), correlation = FALSE, halton = NA, TM)

但是,我收到以下错误(在第一行代码之后(:

Error in dfidx::dfidx(data = data, dfa$idx, drop.index = dfa$drop.index,  : 
the two indexes don't define unique observations

类似的问题: 使用 mlogit R 函数时出错:"两个索引未定义唯一观测值">

你们中有人知道出了什么问题吗? 提前谢谢。

您的数据样本不足以提供正确的解决方案。

  1. 确保提供正确的索引变量。

mlogit.data()dfidx()函数的包装器,它对索引有一些违反直觉的要求。您的案例中的caseID应因所有特定情况而异,而不仅仅是在单个personID内。不同的personID不应该存在相同的caseID

  1. 验证每个选项集中的备选方案数量是否相同。

最新更新