我有一个需要分类的三类问题。我想在nnet
包中使用多项逻辑回归。班级结果有 3 个因素,P、Q、R。我想将 Q 作为基本因素。
所以我试着把它写成这样的对比:
P <- c(1,0,0)
R <- c(0,0,1)
contrasts(trainingLR$Class) <- cbind(P,R)
检查了它:
> contrasts(trainingLR$Class)
P R
P 1 0
Q 0 0
R 0 1
现在multinom()
:
library(nnet)
multinom(Class ~., data=trainingLR)
输出:
> multinom(Class ~., data=trainingLR)
# weights: 39 (24 variable)
initial value 180.172415
iter 10 value 34.990665
iter 20 value 11.765136
iter 30 value 0.162491
iter 40 value 0.000192
iter 40 value 0.000096
iter 40 value 0.000096
final value 0.000096
converged
Call:
multinom(formula = Class ~ ., data = trainingLR)
Coefficients:
(Intercept) IL8 IL17A IL23A IL23R
Q -116.2881 -16.562423 -34.80174 3.370051 6.422109
R 203.2414 6.918666 -34.40271 -10.233787 31.446915
EBI3 IL6ST IL12A IL12RB2 IL12B
Q -8.316808 12.75168 -7.880954 5.686425 -9.665776
R 5.135609 -20.48971 -2.093231 37.423452 14.669226
IL12RB1 IL27RA
Q -6.921755 -1.307048
R 15.552842 -7.063026
Residual Deviance: 0.0001922658
AIC: 48.00019
问题:
如您所见,由于 P 类没有出现在输出中,这意味着在处理 R 中的因子变量时,它被视为按字母顺序排列的第一个基类,而 Q 类没有被视为在这种情况下,基础级别,如何使其以其他两个级别为基础?