### R code from vignette source 'Vickers-sl.rnw'
### Encoding: UTF-8

###################################################
### code chunk number 1: Vickers-sl.rnw:83-90
###################################################
library( Epi )
library( foreign )
acp <- read.dta( "./data/sportsmen.dta" )[,-4]
names( acp ) <- c("bl","fu","gr")
acp$gr <- factor( acp$gr, labels=c("Placebo","Acupuncture") )
str( acp )
head( acp )


###################################################
### code chunk number 2: Vickers-sl.rnw:127-132
###################################################
# Follow-up
fu <- with( acp, tapply( fu   , gr, mean ) )
c( fu, diff( fu ) )
mf <- lm( fu ~ gr, data=acp )
round( ci.lin( mf ), 3 )


###################################################
### code chunk number 3: Vickers-sl.rnw:152-156
###################################################
df <- with( acp, tapply( fu-bl, gr, mean ) )
c( df, diff( df ) )
md <- lm( fu-bl ~ gr, data=acp )
round( ci.lin( md ), 3 )


###################################################
### code chunk number 4: Vickers-sl.rnw:177-179
###################################################
mc <- lm( fu ~ bl + gr, data=acp )
round( ci.lin( mc ), 4 )


###################################################
### code chunk number 5: Vickers-sl.rnw:201-206
###################################################
cmp.cf <- rbind( ci.lin( mf, subset="Acu" ),
                 ci.lin( md, subset="Acu" ),
                 ci.lin( mc, subset="Acu" ) )
rownames( cmp.cf ) <- c("FU","Chg-sc","Cond")
round( cmp.cf, 4 )


###################################################
### code chunk number 6: Vickers-sl.rnw:215-216
###################################################
round( cmp.cf[,c(1,2,4)], 3 )


###################################################
### code chunk number 7: Vickers-sl.rnw:227-236
###################################################
( cf <- coef(mc) )
( mb <- mean( acp$bl ) )
y0 <- c(40,mb,75)
p.ch <- cf[1] - (cf[2]-1)*y0
a.ch <- cf[1] - (cf[2]-1)*y0 + cf[3]
chg <- cbind( p.ch, a.ch, a.ch-p.ch )
colnames( chg ) <- c( levels( acp$gr ), "Diff" )
rownames( chg ) <- round(y0,2)
round( chg, 2 )


###################################################
### code chunk number 8: Vickers-sl.rnw:248-251
###################################################
mi <- lm( fu ~ gr + gr:bl, data=acp )
round( ci.lin( mi ), 4 )
anova( mi, mc )


