2

我有一个数据集,它总体上查看每组个人

Gender    Age    Region    Count    Affected
Male      18-24    CA      9843     384
Female    18-24    CA      8745     489
Male      35-24    CA      11923    381

等等

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

   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

依此类推,基本上,为受影响的人创建一个虚拟变量,或者换句话说,创建一个数据集,为每个组创建一行,为每个未受影响的人创建一行,为每个人创建一行。我可以很容易地手动做到这一点,但是在 R 中是否有一种简单的方法可以将这种二进制比率数据转换为可以在 R 中的逻辑回归中使用的数据集

4

1 回答 1

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)
于 2015-11-26T02:06:16.490 回答