### R code from vignette source 'rates-sol.rnw'
### Encoding: UTF-8

###################################################
### code chunk number 1: rates-sol.rnw:19-22
###################################################
library( Epi )
D <- 15 ; Y <- 5532 ; rate <- D / Y ; erf <- exp( 1.96 / sqrt(D) )
c( rate, rate/erf, rate*erf )


###################################################
### code chunk number 2: rates-sol.rnw:27-29
###################################################
ci.mat()
exp( c( log(D/Y), 1/sqrt(D) ) %*% ci.mat() )


###################################################
### code chunk number 3: rates-sol.rnw:35-37
###################################################
mm <- glm( D ~ 1, offset=log(Y), family=poisson )
summary( mm )


###################################################
### code chunk number 4: rates-sol.rnw:55-58
###################################################
ci.lin( mm )
ci.exp( mm )
round( ci.exp( mm ), 5 )


###################################################
### code chunk number 5: rates-sol.rnw:65-67
###################################################
mmx <- glm( D/Y ~ 1, weight=Y, family=poisson )
round( ci.exp( mmx ), 5 )


###################################################
### code chunk number 6: rates-sol.rnw:74-75
###################################################
ma <- glm( D/Y ~ 1, weight=Y, family=poisson(link=identity) )


###################################################
### code chunk number 7: rates-sol.rnw:82-83
###################################################
log( coef(ma) )


###################################################
### code chunk number 8: rates-sol.rnw:90-93
###################################################
ci.lin( ma )
ci.exp( ma, Exp=FALSE )
round( ci.exp( ma, Exp=FALSE ), 5 )


###################################################
### code chunk number 9: rates-sol.rnw:111-112
###################################################
c( sqrt(D)/Y, ci.lin( ma )[,2] )


###################################################
### code chunk number 10: rates-sol.rnw:116-119
###################################################
Dx <- c(3,7,5)
Yx <- c(1412,2783,1337)
Px <- 1:3


###################################################
### code chunk number 11: rates-sol.rnw:134-136
###################################################
m1 <- glm( Dx ~ 1, offset=log(Yx), family=poisson )
ci.exp( m1 )


###################################################
### code chunk number 12: rates-sol.rnw:142-143
###################################################
mp <- glm( Dx ~ factor(Px), offset=log(Yx), family=poisson )


###################################################
### code chunk number 13: rates-sol.rnw:147-148
###################################################
anova( m1, mp, test="Chisq" )


###################################################
### code chunk number 14: rates-sol.rnw:172-178
###################################################
D0 <- 15   ; D1 <- 28
Y0 <- 5532 ; Y1 <- 4783
RR <- (D1/Y1)/(D0/Y0)
erf <- exp( 1.96 * sqrt(1/D0+1/D1) )
c( RR, RR/erf, RR*erf )
exp( c( log(RR), sqrt(1/D0+1/D1) ) %*% ci.mat() )


###################################################
### code chunk number 15: rates-sol.rnw:182-185
###################################################
D <- c(D0,D1) ; Y <- c(Y0,Y1); xpos <- 0:1
mm <- glm( D ~ factor(xpos), offset=log(Y), family=poisson )
summary( mm )


###################################################
### code chunk number 16: rates-sol.rnw:196-197
###################################################
ci.exp( mm )


###################################################
### code chunk number 17: rates-sol.rnw:210-213
###################################################
rd <- diff( D/Y )
sd <- sqrt( sum( D/Y^2 ) )
c( rd, sd ) %*% ci.mat()


###################################################
### code chunk number 18: rates-sol.rnw:220-223
###################################################
ma <- glm( D/Y ~ factor(xpos), weight=Y,
                 family=poisson(link=identity) )
ci.exp( ma, Exp=FALSE )


###################################################
### code chunk number 19: rates-sol.rnw:229-236
###################################################
CM <- rbind( c(1,0), c(1,1), c(0,1) )
rownames( CM ) <- c("rate 0","rate 1","RR 1 vs. 0")
CM
mm <- glm( D ~ factor(xpos),
               offset=log(Y), family=poisson )
ci.exp( mm )
round( ci.exp( mm, ctr.mat=CM ), 3 )


###################################################
### code chunk number 20: rates-sol.rnw:241-245
###################################################
mm <- glm( D ~ factor(xpos),
               offset=log(Y/1000), family=poisson )
ci.exp( mm, ctr.mat=CM )
round( ci.exp( mm, ctr.mat=CM ), 3 )


###################################################
### code chunk number 21: rates-sol.rnw:252-256
###################################################
rownames( CM ) <- c("rate 0","rate 1","RD 1 vs. 0")
ma <- glm( D/(Y/1000) ~ factor(xpos), weight=Y/1000,
                 family=poisson(link=identity) )
round( ci.exp( ma, ctr.mat=CM, Exp=FALSE ), 2 )


