1

R 中的 esoph 数据集包括称为 ncontrols 和 ncases 的两个字段,它们是该组中的人数和该组中被诊断患有食管癌的人数。示例部分的这条语句创建了一个线性模型:

model1 <- glm(cbind(ncases, ncontrols) ~ agegp + tobgp*alcgp, 
              data=esoph, family=binomial())

我的问题是关于cbind序列的。它会根据 ncases 和 ncontrols 的值神奇地创建零(否)和一(是)的辅助数组吗?

4

2 回答 2

2

“列绑定” ncasesncontrols进入一个 2 列矩阵,如下所示:

> head(esoph)
  agegp     alcgp    tobgp ncases ncontrols
1 25-34 0-39g/day 0-9g/day      0        40
2 25-34 0-39g/day    10-19      0        10
3 25-34 0-39g/day    20-29      0         6
4 25-34 0-39g/day      30+      0         5
5 25-34     40-79 0-9g/day      0        27
6 25-34     40-79    10-19      0         7

> head(cbind(esoph$ncases, esoph$ncontrols))
     [,1] [,2]
[1,]    0   40
[2,]    0   10
[3,]    0    6
[4,]    0    5
[5,]    0   27
[6,]    0    7

这让模型知道在多少次试验中有多少是阳性的,即分子和分母是什么。

于 2013-11-18T19:43:02.523 回答
0

感谢上面的两位响应者。其他信息实际上在 glm 文档中,其中第一个参数的详细信息部分包括可能的规范“作为两列矩阵,列给出成功和失败的数量”。所以是 glm 做我好奇的工作,而不是 cbind。

于 2013-11-28T01:23:00.373 回答