如何从列联表中找到模型?

时间:2012-03-06 02:20:59

标签: r

我有一个3路contigency表,比如A,B,C,所有二进制数据(1或0),表中有几个不同的数字;像这样:

                                  A
                            1           0
                            D           D
                          1   0       1   0

           1    C    1   21   15     11    30
     B               0   15   11      5    8
           0    C    1    5   42     3     14
                     0    4    3      2    15

D是成功还是失败。

我想用r来找到成功的模型,比如说prob(D = 1)= a + bx1 + cx2 + dx3 其中x1,x2,x3是A,B,C变量。

那我该怎么办?

我试过model = glm(D~A + B + C,二项式)

但无效。

1 个答案:

答案 0 :(得分:1)

您应该转换您的列联表 (我认为这真的是你拥有的) 进入data.frame。

# Sample data
n <- 200
d <- data.frame(
  A = sample(0:1, n, replace=TRUE),
  B = sample(0:1, n, replace=TRUE),
  C = sample(0:1, n, replace=TRUE),
  D = sample(0:1, n, replace=TRUE)
)
d <- table(d)

# Put the data in a data.frame
library(reshape)
d <- melt(d)

# Compute the regression
glm(D ~ A+B+C, data=d, family=binomial(), weights=value)