library(vcd)
library(car)
data("UCBAdmissions")

structable(Dept ~ Admit+Gender,UCBAdmissions)

## conditional independence in UCB admissions data
berk.mod1 <- loglm(~ Dept * (Gender + Admit), data=UCBAdmissions)
berk.mod1
mosaic(berk.mod1, gp=shading_Friendly)

## all two-way model
berk.mod2 <-loglm(~(Admit+Dept+Gender)^2, data=UCBAdmissions)
berk.mod2
mosaic(berk.mod2, gp=shading_Friendly)

# compare models
anova(berk.mod1, berk.mod2)

library(vcdExtra)

# using glm()
berkeley <- as.data.frame(UCBAdmissions)
berk.glm1 <- glm(Freq ~ Dept * (Gender+Admit), data=berkeley, family="poisson")
summary(berk.glm1)

berk.glm2 <- glm(Freq ~ (Dept + Gender + Admit)^2, data=berkeley, family="poisson")
summary(berk.glm2)

anova(berk.glm1, berk.glm2)

attach(berkeley)
dept1AG <- (Dept=='A')*(Gender=='Female')*(Admit='Admitted')
data.frame(Dept,Gender,Admit,dept1AG,Freq)[1:6,]
berk.glm3 <- glm(Freq ~ Dept * (Gender+Admit) + dept1AG, family="poisson")
summary(berk.glm3)
detach(berkeley)


