### R code from vignette source 'rates-s.rnw'

###################################################
### code chunk number 1: rates-s.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-s.rnw:27-29
###################################################
ci.mat()
exp( c( log(D/Y), 1/sqrt(D) ) %*% ci.mat() )


###################################################
### code chunk number 3: rates-s.rnw:35-37
###################################################
mm <- glm( D ~ 1, offset=log(Y), family=poisson )
summary( mm )


###################################################
### code chunk number 4: rates-s.rnw:55-58
###################################################
ci.lin( mm )
ci.exp( mm )
round( ci.exp( mm ), 5 )


###################################################
### code chunk number 5: rates-s.rnw:65-67
###################################################
mmx <- glm( D/Y ~ 1, weight=Y, family=poisson )
round( ci.exp( mmx ), 5 )


###################################################
### code chunk number 6: rates-s.rnw:74-75
###################################################
ma <- glm( D/Y ~ 1, weight=Y, family=poisson(link=identity) )


###################################################
### code chunk number 7: rates-s.rnw:82-83
###################################################
log( coef(ma) )


###################################################
### code chunk number 8: rates-s.rnw:90-93
###################################################
ci.lin( ma )
ci.exp( ma, Exp=FALSE )
round( ci.exp( ma, Exp=FALSE ), 5 )


###################################################
### code chunk number 9: rates-s.rnw:111-112
###################################################
c( sqrt(D)/Y, ci.lin( ma )[,2] )


###################################################
### code chunk number 10: rates-s.rnw:123-124
###################################################
c( 1/sqrt(D), ci.lin( mm )[,2] )


###################################################
### code chunk number 11: rates-s.rnw:129-133
###################################################
Dx <- c(3,7,5)
Yx <- c(1412,2783,1337)
Px <- 1:3
cbind( Dx, Yx, Px )


###################################################
### code chunk number 12: rates-s.rnw:149-153
###################################################
m1 <- glm( Dx ~ 1, offset=log(Yx), family=poisson )
summary( m1 )
rbind( ci.exp( m1 ),
       ci.exp( mm ) )


###################################################
### code chunk number 13: rates-s.rnw:159-160
###################################################
mp <- glm( Dx ~ factor(Px), offset=log(Yx), family=poisson )


###################################################
### code chunk number 14: rates-s.rnw:164-165
###################################################
anova( m1, mp, test="Chisq" )


###################################################
### code chunk number 15: rates-s.rnw:189-195
###################################################
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 16: rates-s.rnw:199-202
###################################################
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 17: rates-s.rnw:213-214
###################################################
ci.exp( mm )


###################################################
### code chunk number 18: rates-s.rnw:227-230
###################################################
rd <- diff( D/Y )
sd <- sqrt( sum( D/Y^2 ) )
c( rd, sd ) %*% ci.mat()


###################################################
### code chunk number 19: rates-s.rnw:237-240
###################################################
ma <- glm( D/Y ~ factor(xpos), weight=Y,
                 family=poisson(link=identity) )
ci.exp( ma, Exp=FALSE )


###################################################
### code chunk number 20: rates-s.rnw:246-253
###################################################
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 21: rates-s.rnw:258-262
###################################################
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 22: rates-s.rnw:270-274
###################################################
rownames(CM)[3] <- "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 ), 3 )


###################################################
### code chunk number 23: rates-s.rnw:280-283
###################################################
CM[3,] <- -CM[3,]
rownames(CM)[3] <- "RD 0 vs. 1"
round( ci.exp( ma, ctr.mat=CM, Exp=FALSE ), 3 )


