R,将数据集转换为mlogit(/ mnlogit)长格式

时间:2014-03-21 05:25:27

标签: r reshape mlogit

我想使用R mlogit包。文档(http://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.pdf)编写得很好,但我还有一个问题。

假设我有一个由三个分类变量组成的数据集:modeagecostmode有三个级别(mode1mode2mode3),其他两个变量有两个级别(age1age2和{ {1}},cost1)。

基本上,它采用以下形式:

cost2

使用命令R> head(df) mode age cost 1 mode2 age1 cost2 2 mode1 age1 cost2 3 mode1 age2 cost1 4 mode3 age1 cost1 ,我能够将此数据集“转换”为mlogitSample <- mlogit.data(df, choice = "mode", shape = "wide")格式:每行都扩展为三行(对应于三个不同的响应类别),{{ 1}}列转换为mlogitmode的序列。这非常适合使用TRUE;但是,我认为这也是我获得错误FALSE的原因,因为我有多行不再独立。

因为我知道可以将多项logit方法应用到我的案例中,所以我想知道如何使用这个包。为了类似的目的,包mlogit的函数Lapack routine dgesv: system is exactly singular: U[8,8] = 0工作正常,但它不适合我想到的模型:我想适合模型$ \ log(\ pi_j(x) ))= \ alpha_j + \ beta \ cdot x $,每个模式类别$ j $的截距$ \ alpha_j $和常量系数向量$ \ beta $)。

0 个答案:

没有答案