【问题标题】:Reshaping the data for a multinomial regression为多项式回归重塑数据
【发布时间】:2013-04-12 16:15:34
【问题描述】:

我目前正在学习多项式 logit 估计器,我想用它来估计带有 mlogit 包的 R 中的模型。在广泛阅读该主题之后,很明显该过程中的一个重要步骤是使用mlogit.data() 函数对数据进行重塑。我的数据框包含以下信息:

  1. satisfaction:这是一个从 1(非常不满意)到 5(非常满意)的分类变量。
  2. education: 个人受教育年限
  3. country: 个人原籍国
  4. average_income: 这是全国平均收入

这是数据框的可视化表示:

> dat
   country satisfaction education income
1        1            3        12    750
2        1            5        13    750
3        1            2        10    750
4        3            4        13    675
5        3            5        14    675
6        3            4        11    675
7        3            1        14    675
8        2            1        11    820
9        2            5        14    820
10       2            3        12    820

mlogit() 函数似乎不喜欢这种形式。我正在尝试以satisfaction 作为因变量,education 作为自变量来估计模型。

如何重塑它以使其发挥作用?

【问题讨论】:

  • 请发布您的代码和错误信息。
  • 我不清楚您的响应变量是什么。是satisfaction吗?如果是这样,似乎ordinal logistic regression 比多项式更合适。 UCLA 统计网站有一个ordinal logistic regression in R 指南,可能对您也有帮助。
  • 考虑改用nnet 包中的multinom 函数。 multinom(satisfaction ~ ..., data=dat) 将自动将 satisfaction 重塑为多项式数组,其中 minimum 被视为参考级别(与 SAS 使用数据中的第一个值相反)。
  • 尝试首先使用datL <- mlogit.data(dat, choice="satisfaction", shape="wide", varying=NULL) 将您的数据重塑为个人选择(长)格式。然后拨打mlogit(satisfaction ~ 0 | education, reflevel="1", data=datL)。更多信息可以通过vignette("mlogit") 找到 - 特别是在第 3ff 页。

标签: r categorical-data multinomial


【解决方案1】:

我将包含一个 alt 变量,它指示替代 1 到 5。您的因变量是“模式”变量,在您将数据重新整形为 mlogit 格式后,它应该是 TRUEFALSE .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-29
    • 2022-01-03
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 2017-07-20
    相关资源
    最近更新 更多