【发布时间】:2013-04-12 16:15:34
【问题描述】:
我目前正在学习多项式 logit 估计器,我想用它来估计带有 mlogit 包的 R 中的模型。在广泛阅读该主题之后,很明显该过程中的一个重要步骤是使用mlogit.data() 函数对数据进行重塑。我的数据框包含以下信息:
-
satisfaction:这是一个从 1(非常不满意)到 5(非常满意)的分类变量。 -
education: 个人受教育年限 -
country: 个人原籍国 -
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