我想对一个分类变量的特定组(范围0f值)运行逻辑回归。我执行了以下步骤: 1.我将变量剪切为组:
cut_Var3 <- cut(dat$Var3,breaks=c(0,3,6,9))
table(cut_Var3)
的结果给了我这个输出(cut_Var3
变成了一个因素):
# (0,3] (3,6] (6,9]
# 5 4 4
我想对其他变量进行逻辑回归,但仅针对(3,6)的水平单独进行。 因此,我将能够对第二组的4个观测值进行回归分析。 2.我试着编写这行代码(以及其他变体):
ff <- glm( TargetVar ~ relevel(cut_Var3,3:6), data = dat)
但没有运气。
为了正确运行,我该怎么做?
附件是一个示例数据集:
dat <- read.table(text = " TargetVar Var1 Var2 Var3
0 0 0 7
0 0 1 1
0 1 0 3
0 1 1 7
1 0 0 5
1 0 1 1
1 1 0 0
1 1 1 6
0 0 0 8
0 0 1 5
1 1 1 4
0 0 1 2
1 0 0 9
1 1 1 2 ", header = TRUE)
答案 0 :(得分:1)
对于relevel
,您需要完全按照因子中显示的级别标签指定:
glm( TargetVar ~ relevel(cut_Var3,"(3,6]"), data = dat)
Call: glm(formula = TargetVar ~ relevel(cut_Var3, "(3,6]"), data = dat)
Coefficients:
(Intercept) relevel(cut_Var3, "(3,6]")(0,3]
0.75 -0.35
relevel(cut_Var3, "(3,6]")(6,9]
-0.50
Degrees of Freedom: 12 Total (i.e. Null); 10 Residual
(1 observation deleted due to missingness)
Null Deviance: 3.231
Residual Deviance: 2.7 AIC: 24.46