a <- 8 b <- 12 c <- 48 d <- 62 m <- a + b n <- c + d x <- matrix(c(a,b,c,d),nr=2) t <- as.table(x) rownames(t) <- c("Alive","Dead") colnames(t) <- c("Standard","Penicillin") print(t) lambda <- a*d/(b*c) better <- (a-0.5)*(d-0.5)/((b-0.5)*(c-0.5)) cat("\nCross ratio",lambda,"with log",log(lambda),"\n") cat("Better approx",better,"with log",log(better),"\n") varlog <- 1/a + 1/b + 1/c + 1/d postpr <- 1 - pnorm(0,log(better),sqrt(varlog)) cat("Posterior prob of a difference",postpr,"\n") u <- asin(sqrt(a/m)) v <- asin(sqrt(c/n)) diff <- u - v vardiff <- 1/(4*m) + 1/(4*n) postprdiff <- 1 - pnorm(0,diff,sqrt(vardiff)) cat("Arc sines",u,"and",v,"with variance of diff",vardiff,"\n") cat("giving posterior prob of a difference",postprdiff,"\n")