【发布时间】:2016-05-04 02:07:37
【问题描述】:
我有以下数据:
Class Batch Parity EB
0 2 2 842.8302684
0 2 3 1435.313822
0 2 3 615.32252
1 3 2 428.0919074
1 3 3 629.6284765
1 3 2 428.0919074
. . . .
. . . .
我正在使用 mlogit 包运行多项回归,但又遇到了问题:
Error in relevel.default(attr(mf, "index")[["alt"]], reflevel) :
'relevel' only for factors
请你看看我错在哪里。 型号为:
model<-mlogit(Class~EB+DFS+Batch+Parity, data=dat, reflevel="1")
Class 和 Batch 与 Class(0 或 1)和 Batch(1 到 6)是分类的。在运行模型之前,我将其应用于将 Class 和 Batch 转移到因子:
dat$Class<-as.factor(dat$Class)
dat$Batch<-as.factor(dat$Batch)
非常感谢!
【问题讨论】:
-
@eipi10: 类当前编码为 0 或 1,这就是为什么我应用 as.factor 使它们成为因子。此外,当我对 Class 和 true/false 进行编码时,错误仍然相同
-
我查看了 mlogit 函数。似乎它在 mlogit.data 类的数据帧上效果最好。幸运的是,您可以在 data.frame 上使用 mlogit.data() 使其成为 mlogit.data 类。你调查过这个吗?
-
@Arman:我采纳了你的建议,它奏效了。谢谢
标签: r regression multinomial mlogit