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)

a)


In [2]:
W <- abs(mean(x) - mean(y)) / sqrt(var(x)/length(x) + var(y)/length(y))
W


Out[2]:
3.70355354433382

In [3]:
alpha <- 0.05
z <- qnorm(1-alpha/2)
z


Out[3]:
1.95996398454005

b)


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]:
7e-04