> berk1.df <- read.table("data/berkeley.dat",header=T) > attach(berk1.df) > D <- matrix(freq,byrow=T,ncol=4) > or <- function(x) { ((x[1]+.5)/(x[2]+.5))/((x[3]+.5)/(x[4]+.5)) } > cbind(1:6,round(apply(D,1,or),2)) # odds-ratios by department [,1] [,2] [1,] 1 0.34 [2,] 2 0.83 [3,] 3 1.13 [4,] 4 0.92 [5,] 5 1.22 [6,] 6 0.83 > dept <- rep(c("A","B","C","D","E","F"),each=2) > sex <- rep(c("M","F"),6) > admit <- freq[(0:11)*2+1] > deny <- freq[(1:12)*2] > berk2.df <- data.frame(dept,sex,admit,deny) > berk2.df dept sex admit deny 1 A M 512 331 2 A F 89 19 3 B M 353 207 4 B F 17 8 5 C M 120 205 6 C F 202 391 7 D M 138 279 8 D F 131 244 9 E M 53 138 10 E F 94 299 11 F M 22 351 12 F F 24 317 > fit1 <- glm(cbind(admit,deny)~dept+sex,binomial,data=berk2.df) > summary(fit1) Call: glm(formula = cbind(admit, deny) ~ dept + sex, family = binomial, data = berk2.df) Deviance Residuals: [1] -1.30458 3.92943 -0.05206 0.25174 1.30003 -0.95797 0.12110 [8] -0.12568 1.25470 -0.87356 -0.18836 0.18574 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.636739 0.098409 6.47 9.78e-11 *** deptB 0.009772 0.109123 0.09 0.929 deptC -1.214525 0.105981 -11.46 < 2e-16 *** deptD -1.245105 0.105149 -11.84 < 2e-16 *** deptE -1.691493 0.125576 -13.47 < 2e-16 *** deptF -3.257133 0.169577 -19.21 < 2e-16 *** sexM -0.108203 0.080775 -1.34 0.180 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 860.409 on 11 degrees of freedom Residual deviance: 22.254 on 5 degrees of freedom AIC: 105.23 Number of Fisher Scoring iterations: 3 > anova(fit1) Analysis of Deviance Table Model: binomial, link: logit Response: cbind(admit, deny) Terms added sequentially (first to last) Df Deviance Resid. Df Resid. Dev NULL 11 860.41 dept 5 836.35 6 24.06 sex 1 1.80 5 22.25 > fit2 <- glm(cbind(admit,deny)~dept+sex,binomial,subset(berk2.df,dept!="A")) > summary(fit2) Call: glm(formula = cbind(admit, deny) ~ dept + sex, family = binomial, data = subset(berk2.df, dept != "A")) Deviance Residuals: [1] -0.1191 0.5680 0.5239 -0.3914 -0.5164 0.5440 0.6868 -0.4892 [9] -0.5024 0.5158 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.51349 0.11936 4.302 1.69e-05 *** deptC -1.14008 0.12188 -9.354 < 2e-16 *** deptD -1.19456 0.11984 -9.968 < 2e-16 *** deptE -1.61308 0.13928 -11.581 < 2e-16 *** deptF -3.20527 0.17880 -17.927 < 2e-16 *** sexM 0.03069 0.08676 0.354 0.724 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 539.4581 on 9 degrees of freedom Residual deviance: 2.5564 on 4 degrees of freedom AIC: 71.79 Number of Fisher Scoring iterations: 3 > anova(fit2) Analysis of Deviance Table Model: binomial, link: logit Response: cbind(admit, deny) Terms added sequentially (first to last) Df Deviance Resid. Df Resid. Dev NULL 9 539.46 dept 4 536.78 5 2.68 sex 1 0.13 4 2.56