# Permutation test example using mouse data from p. 11 of E&T. set.seed(321) survival <- c(94,197,16,38,99,141,23,52,104,146,10,51,30,40,27,46) obs.diff.means <- mean( survival[1:7] ) - mean( survival[8:16] ) obs.diff.meds <- median( survival[1:7] ) - median( survival[8:16] ) diff.means <- numeric() diff.meds <- numeric() for ( i in 1:40000 ) { perm <- sample( survival, 16, replace=F ) diff.means[i] <- mean( perm[1:7] ) - mean( perm[8:16] ) diff.meds[i] <- median( perm[1:7] ) - median( perm[8:16] ) } hist( diff.means ) p <- length( diff.means[ diff.means >= obs.diff.means ] )/40000 # one-sided test p-values (difference in sample means): p pm.part <- 1.96*sqrt( p*( 1 - p )/40000 ) ucb <- p + pm.part lcb <- p - pm.part # Here are confidence bounds for the exact p-value: lcb; ucb # one-sided test p-values (difference in sample medians): length( diff.meds[ diff.meds >= obs.diff.meds ] )/40000 # hist( diff.meds ) # Now I'll do Student's two-sample t test. treat <- c(94,197,16,38,99,141,23) control <- c(52,104,146,10,51,30,40,27,46) t.test( treat, control, alternative="greater", var.equal=T )