In [1]:
x <- c(0.225, 0.262, 0.217, 0.240, 0.230, 0.229, 0.235, 0.217)
y <- c(0.209, 0.205, 0.196, 0.210, 0.202, 0.207, 0.224, 0.223, 0.220, 0.201)
In [2]:
W <- abs(mean(x) - mean(y)) / sqrt(var(x)/length(x) + var(y)/length(y))
W
Out[2]:
In [3]:
alpha <- 0.05
z <- qnorm(1-alpha/2)
z
Out[3]:
In [4]:
mean_dist <- function(x, y) {
return(abs(median(x) - median(y)))
}
In [5]:
perm_test <- function(xspl, yspl, N=2000) {
nx <- length(xspl)
ny <- length(yspl)
n <- nx + ny
t0 <- mean_dist(xspl, yspl)
combined <- c(xspl, yspl)
z <- array(,N)
for (i in 1:N) {
spl <- sample(combined, n, replace=FALSE)
x <- spl[1:nx]
y <- spl[(nx+1):n]
z[i] <- mean_dist(x, y)
}
pval <- (sum(z >= t0))/N
return(pval)
}
In [6]:
perm_test(x, y, 10000)
Out[6]: