如何对特定的因子类型变量值组执行逻辑回归

时间:2014-04-24 15:02:25

标签: r logistic-regression

我想对一个分类变量的特定组(范围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)

1 个答案:

答案 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