我在 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 函数时出错:"两个索引未定义唯一观测值">
你们中有人知道出了什么问题吗? 提前谢谢。
您的数据样本不足以提供正确的解决方案。
- 确保提供正确的索引变量。
mlogit.data()
是dfidx()
函数的包装器,它对索引有一些违反直觉的要求。您的案例中的caseID
应因所有特定情况而异,而不仅仅是在单个personID
内。不同的personID
不应该存在相同的caseID
。
- 验证每个选项集中的备选方案数量是否相同。