### R code from vignette source 'SMR-sol.rnw'

###################################################
### code chunk number 1: SMR-sol.rnw:6-17
###################################################
library( Epi )
D1 <- c(11, 15, 10)
Y1 <- c(10, 6, 2)
D0 <- c(15, 60, 150)
Y0 <- c(30, 50, 70)
names(D1) <-
names(Y1) <-
names(D0) <-
names(Y0) <-
c("30-39", "40-49", "50-59")
cbind( D1, Y1, D0, Y0 )


###################################################
### code chunk number 2: SMR-sol.rnw:23-27
###################################################
I1 <- D1/Y1
I0 <- D0/Y0
IR <- I1/I0
round(cbind(I1, I0, IR),2 )


###################################################
### code chunk number 3: SMR-sol.rnw:32-34
###################################################
EF <- exp( 1.96 * sqrt(1/D1+1/D0) )
round( cbind(I1, I0, IR, EF), 2 )


###################################################
### code chunk number 4: SMR-sol.rnw:40-44
###################################################
I1.c <- sum(D1) / sum(Y1)
I0.c <- sum(D0) / sum(Y0)
IR.c <- I1.c / I0.c
round( cbind(I1.c, I0.c, IR.c), 2)


###################################################
### code chunk number 5: SMR-sol.rnw:49-51
###################################################
IR.mh <- sum( D1*Y0/(Y1+Y0) ) / sum( D0*Y1/(Y1+Y0) )
round(IR.mh, 2)


###################################################
### code chunk number 6: SMR-sol.rnw:57-61
###################################################
Obs <- sum( D1 )
Exp <- sum( I0 * Y1)
SMR <- Obs / Exp
round( cbind(Obs, Exp, SMR), 2)


###################################################
### code chunk number 7: SMR-sol.rnw:68-72
###################################################
I1.s <- sum( Y0*I1 ) / sum( Y0 )
I0.s <- sum( Y0*I0 ) / sum( Y0 )
IR.s <- I1.s / I0.s
round( cbind(I1.s, I0.s, IR.s), 2 )


###################################################
### code chunk number 8: SMR-sol.rnw:79-83
###################################################
I1.x <- sum( Y1*I1 ) / sum( Y1 )
I0.x <- sum( Y1*I0 ) / sum( Y1 )
IR.x <- I1.x / I0.x
round( cbind(I1.x, I0.x, IR.x), 2)


###################################################
### code chunk number 9: SMR-sol.rnw:99-104
###################################################
D <- c(D1,D0)
Y <- c(Y1,Y0)
A <- factor( rep(names(D0),2) )
G <- factor( rep(c("Wrk","Pop"),each=3) )
data.frame( D, Y, A, G )


###################################################
### code chunk number 10: SMR-sol.rnw:109-111
###################################################
mc <- glm( D ~ G - 1 + offset(log(Y)), family=poisson )
round( ci.lin( mc, Exp=TRUE )[,5:7], 2)


###################################################
### code chunk number 11: SMR-sol.rnw:116-118
###################################################
mc <- glm( D ~ G + offset(log(Y)), family=poisson )
round( ci.lin( mc, Exp=TRUE )[,5:7], 2)


###################################################
### code chunk number 12: SMR-sol.rnw:124-128
###################################################
mi <- glm( D ~ A:G -1 + offset(log(Y)), family=poisson )
round( ci.lin( mi, Exp=TRUE )[,5:7], 2)
mi <- glm( D ~ A-1 + A:G + offset(log(Y)), family=poisson )
round( ci.lin( mi, Exp=TRUE )[,5:7], 2)


###################################################
### code chunk number 13: SMR-sol.rnw:132-135
###################################################
ms <- glm( D ~ A + G + offset(log(Y)), family=poisson )
ms
round( ci.lin( ms, Exp=TRUE )[,5:7], 2 )


###################################################
### code chunk number 14: SMR-sol.rnw:142-143
###################################################
anova( ms, mi, test="Chisq" )


