lomis2 <- function(m, n = 1000) { lomi <- function(m) { Di <- sum(m[1:nrow(m)-1, ] == 0 & m[2:nrow(m), ] == 1) return(Di) } D <- lomi(m) d.perm <- c() for (r in 1:n) { d.perm[r] <- lomi(m[sample(nrow(m)), ]) } return(list(D=D, R=mean(d.perm), P=((sum(d.perm <= D))/length(d.perm)), "%PN"=(100 * (mean(d.perm) - D)/mean(d.perm)))) }