如何将具有二元结果比率的数据集转换为适合R中逻辑回归的数据集

时间:2015-11-26 01:51:01

标签: r logistic-regression dummy-variable

我有一个数据集,用于查看聚合中的每个人

   Gender    Age    Region    Affected
    Male    18-24    CA     0
    Male    18-24    CA     0
(...)
    Male    18-24    CA     1
    Male    18-24    CA     1
(...)
    Female 18-24     CA    0
    Female 18-24     CA    0

等等

我想对受影响的结果进行逻辑回归,这实际上是一个二元响应变量。我可以自己重新创建数据,看起来像

{{1}}

等等,基本上,为受影响的人创建一个虚拟变量,或者换句话说,创建一个数据集,为每个组创建一个0,对于每个没有受影响的人创建一行,每行创建一行人。我可以相当容易地手动完成这项工作,但在R中有一种简单的方法可以将这种二进制比率数据转换为可以在R中使用逻辑回归的数据集

1 个答案:

答案 0 :(得分:4)

试试这个:

glm(cbind(Affected, Count - Affected) ~ Gender + Age, data = DF, family = binomial())

给出以下输出:

Call:  glm(formula = cbind(Affected, Count - Affected) ~ Gender + Age, 
    family = binomial(), data = DF)

Coefficients:
(Intercept)   GenderMale     Age35-24  
    -2.8263      -0.3777      -0.2069  

Degrees of Freedom: 2 Total (i.e. Null);  0 Residual
Null Deviance:      72.39 
Residual Deviance: 7.17e-13     AIC: 29.47

注意:上面我们使用了这个输入:

Lines <- "Gender    Age    Region    Count    Affected
Male      18-24    CA      9843     384
Female    18-24    CA      8745     489
Male      35-24    CA      11923    381"
DF <- read.table(text = Lines, header = TRUE)