【问题标题】:issue with mlogit package related to modalities与模式相关的 mlogit 包的问题
【发布时间】:2020-09-04 02:35:55
【问题描述】:

我正在使用 mlogit 包来运行多项混合效应模型。数据一开始就是长格式。我试图确定一个变量是否与具有 3 个类别(0、1、2)的分类结果、睡眠持续时间的差异有关。样本数据为:

id  sleep  var1
1    0     1.5
1    2     1.5
2    1      2
2    1      2
3    0      1

我尝试运行以下代码:

mldata <- mlogit.data(df, choice="sleep", shape ="long")

mlogit.model1 <- mlogit(sleep ~ 1 | var1, data = df, reflevel = "0")

Error in dfidx::dfidx(data = data, dfa$idx, drop.index = dfa$drop.index,  :
  The choice variable must have exactly two modalities

在之前的帖子中,我读到此消息是由于包含 mlgit 包的“变化”功能而引起的。但是,我没有包括在内,所以我不明白发生了什么。

有人可以帮忙吗?

【问题讨论】:

    标签: r mlogit


    【解决方案1】:

    我遇到了同样的问题,但似乎与 shape 参数的一些混淆有关。来自其中一个小插曲:

    数据集可以有两种不同的形状:宽形(每种选择情况一行)或长形(每种选择一行,因此,每种选择情况有多少行)。

    因此,虽然您的数据在传统意义上是长格式,但在 mlgit 包意义上是宽格式,因为每一行都有一个选择。

    我觉得这很令人困惑,并且错误消息根本没有帮助。包中的两个示例是

    data("Fishing", package = "mlogit")
    head(Fishing[, 1:4])
    #R>      mode price.beach price.pier price.boat
    #R> 1 charter     157.930    157.930    157.930
    #R> 2 charter      15.114     15.114     10.534
    #R> 3    boat     161.874    161.874     24.334
    #R> 4    pier      15.134     15.134     55.930
    #R> 5    boat     106.930    106.930     41.514
    #R> 6 charter     192.474    192.474     28.934
    Fish <- dfidx(Fishing, varying = 2:9, shape = "wide", choice = "mode")
    

    对于宽格式和

    data("TravelMode", package = "AER")
    head(TravelMode)
    #R>   individual  mode choice wait vcost travel gcost income size
    #R> 1          1   air     no   69    59    100    70     35    1
    #R> 2          1 train     no   34    31    372    71     35    1
    #R> 3          1   bus     no   35    25    417    70     35    1
    #R> 4          1   car    yes    0    10    180    30     35    1
    #R> 5          2   air     no   64    58     68    68     30    2
    #R> 6          2 train     no   44    31    354    84     30    2
    
    # default for dfidx's shape is long
    TM2 <- dfidx(TravelMode, idx = c("individual", "mode"))
    

    用于长格式。注意modechoice 列与no/yes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 2021-05-16
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多