## ###### ###### Title: Session4Code.R ###### Author: D. Gillen ###### Date: 08.14.2013 (UW Summer Institue in Biostatistics - Group Sequential Methods) ###### Description: Code for Session 4 (Bayesian evaluation of designs) ###### ## library(RCTdesign) ## ##### ##### Define design used in sepsis trial case study ##### ## Futility.8 <- seqDesign("prop",test="less",sample.size=c(.25,.5,.75,1)*1700, null=0.30,alt=0.23,power="calculate", nbr.analyses=4, P=c(1,0.8)) ## ##### Operating characteristics ## seqEvaluate(Futility.8) ## ##### ##### Bayesian boundaries for Futility.8 ##### ## ##### Dogmatic priors ## changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.09,priorVariation=0.015^2)) changeSeqScale(Futility.8,seqScale("B",priorTheta= 0.02,priorVariation=0.015^2)) changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.04,priorVariation=0.015^2)) ## ##### Changing thresholds ## Futility.8$hypotheses changeSeqScale(Futility.8,seqScale("B", threshold=-0.06, priorTheta=-0.09,priorVariation=0.015^2)) ## ##### Noninformative prior ## changeSeqScale(Futility.8,seqScale("B",priorTheta= 0.02,priorVariation=Inf)) ## ##### Code to generate latex table in the notes ## tbl <- rbind( cbind(c(1:4,1:4),as.vector(Futility.8$bou[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.09,priorVariation=0.015^2))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.04,priorVariation=0.015^2))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta= 0.02,priorVariation=0.015^2))[,c(1,4)])), cbind(c(1:4,1:4),as.vector(Futility.8$bou[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.09,priorVariation=0.04^2))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.04,priorVariation=0.04^2))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta= 0.02,priorVariation=0.04^2))[,c(1,4)])), cbind(c(1:4,1:4),as.vector(Futility.8$bou[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.09,priorVariation=Inf))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta=-0.04,priorVariation=Inf))[,c(1,4)]), as.vector(changeSeqScale(Futility.8,seqScale("B",priorTheta= 0.02,priorVariation=Inf))[,c(1,4)]))) round(rbind(cbind(tbl[1:4,],tbl[5:8,2:5]), cbind(tbl[9:12,],tbl[13:16,2:5]),cbind(tbl[17:20,],tbl[21:24,2:5])),3) ## ###### Bayesian predictive probabilities assuming -.06 a marketable effect ## 1-changeSeqScale(Futility.8,seqScale("H",priorTheta=-0.04,priorVariation=.04^2,threshold=-.06)) 1-changeSeqScale(Futility.8,seqScale("H",priorTheta=-0.04,priorVariation=Inf,threshold=-.06)) ## ##### Compare predictive probability with conditional power ## 1-changeSeqScale(Futility.8,seqScale("H",priorTheta=-0.04,priorVariation=1e-10,threshold=-.06)) 1-changeSeqScale(Futility.8,seqScale("C",hypTheta=-0.04,threshold=-.06))