我有一个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,二项式)
但无效。
答案 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)