【问题标题】:Does mlogit require a specific kind of row name?mlogit 是否需要特定类型的行名?
【发布时间】:2020-01-29 01:02:58
【问题描述】:

我的数据如下所示:

## # A tibble: 6 x 7
##   sampleno    h0    h1    h2    h3    h4 correct_hyp_no
##<dbl> <dbl> <dbl> <dbl> <dbl> <dbl><dbl>
## 1 0  7498  7147  7137  7003  7003 0
## 2 1  7349  7133  7104  7065  6960 0
## 3 2  6907  6676  6671  6575  6575 0
## 4 3  7339  7267  7133  7089  7051 0
## 5 4  5378  5316  5248  5205  5171 NA
## 6 5  7411  7253  7233  7137  7118 4

当我跑步时

mlogit(correct_hyp_no ~ h0 + h1 + h2 + h3 + h4, my_data)

我收到一个错误

data.frame 中的错误(lapply(index, function(x) x[drop = TRUE]), row.names = rownames(mydata)) :提供的行名错误 长度

我对 R 很陌生。我没有明确命名行,但看起来它自动选择了 1,2,3,4,5,6 作为名称。请问怎么了?

【问题讨论】:

  • 您的示例不是独立的,因此我们无能为力。也许将“my_data”包装到as.data.frame() 可能会解决问题。

标签: r mlogit


【解决方案1】:

我的声誉太低,无法发表评论,但正如迈克尔 M 所说,您没有提供可重现的示例。也就是说,您可以做一些事情来开始。

  1. 需要将数据转换为mlogit 可以理解的格式。您的数据似乎是宽格式,因此您需要将其转换为长格式。见?mlogit.data
  2. 转换数据将处理结果变量,该变量将被编码为 TRUE/FALSE。但是,可能有必要删除没有记录结果的情况,即correct_hyp_no == NA

如果正确设置数据不起作用,请提供可重现的 MWE 以及有关您尝试执行的操作的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多