gpt4 book ai didi

r - 使用 mlogit 包版本 1.1-0 时出错。 dfidx::dfidx 提供 id2 是无关紧要的

转载 作者:行者123 更新时间:2023-12-04 13:13:44 24 4
gpt4 key购买 nike

以下是生成错误的最小工作示例。以下代码在以前版本的 mlogit 中有效,但在 1.1-0 版本(2020 年 5 月 26 日发布)中不再有效。

library(mlogit)
data("ModeCanada", package = "mlogit")
bususers <- with(ModeCanada, case[choice == 1 & alt == "bus"]) 
ModeCanada <- subset(ModeCanada, ! case %in% bususers) 
ModeCanada <- subset(ModeCanada, noalt == 4) 
ModeCanada <- subset(ModeCanada, alt != "bus") 
ModeCanada$alt <- ModeCanada$alt[drop = TRUE] 
KoppWen00 <- mlogit.data(ModeCanada, shape='long',
chid.var = 'case',alt.var = 'alt', choice = 'choice',           
drop.index = TRUE, varying = 5:8) 

在执行上面最后一行代码时,会生成以下错误:error in dfidx::dfidx(data = data, dfa$idx, drop.index = dfa#drop.index for data in wide format,提供 id2 是无关紧要的。 此错误消息在两个方面令人困惑。首先,代码似乎误解了我的数据;数据是长格式(这是 附带的示例“长”数据mlogit 打包并在他们的几个示例中工作)并且我将参数传递给函数“long”,但错误表明数据被解释为“wide”并且这导致了问题。第二部分错误消息告诉我 id2 是无关紧要的,但我不知道 id2 是什么;搜索 mlogit 小插图和包描述id2 未产生任何结果。

最佳答案

问题似乎是由 dfidx 处理(或接收)数据的方式引起的。默认情况下,mlogit.data(在最新版本的 mlogit 包中是 dfidx 的包装器)能够找到“varying”列,当数据是长格式时。例如,关于交通选择的数据,如果个人 i 选择交通选项 j = 1, .., J,dfidx 可以看出第 5 列到第 8 列是不同交通选择 j 的属性(例如,乘坐汽车的成本、火车或公共(public)汽车),而不是个人 i 的属性(property)(参见 ModeCanada 第 9 列中的收入,它不是“变化的”)。因此,似乎当“可变”参数传递给 mlogit.data 时,它会强制函数将数据解释为“宽”格式,尽管用户甚至传递了函数参数“shape = long”。

在这种情况下,解决方案只是从函数 mlogit.data 中删除参数“varying”,因为当您向 mlogit.data 传递 long 数据时,mlogit.data 现在可以确定自己的可变列格式。也就是说,以下代码将实现您的目标。

library(mlogit)
data("ModeCanada", package = "mlogit")
bususers <- with(ModeCanada, case[choice == 1 & alt == "bus"])
ModeCanada <- subset(ModeCanada, ! case %in% bususers)
ModeCanada <- subset(ModeCanada, noalt == 4)
ModeCanada <- subset(ModeCanada, alt != "bus")
ModeCanada$alt <- ModeCanada$alt[drop = TRUE]
KoppWen00 <- mlogit.data(ModeCanada, shape='long',
chid.var = 'case',alt.var = 'alt', choice = 'choice',
drop.index = TRUE)

关于r - 使用 mlogit 包版本 1.1-0 时出错。 dfidx::dfidx 提供 id2 是无关紧要的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62249678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com