我想使用R
mlogit
包。文档(http://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.pdf)编写得很好,但我还有一个问题。
假设我有一个由三个分类变量组成的数据集:mode
,age
,cost
。 mode
有三个级别(mode1
,mode2
,mode3
),其他两个变量有两个级别(age1
,age2
和{ {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}}列转换为mlogit
或mode
的序列。这非常适合使用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 $)。