我有一个数据集,用于查看聚合中的每个人
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中使用逻辑回归的数据集
答案 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)