R/eeMWW.R

eeMWW <-
function(ddata, minoritySet, runs = 1000) {
  m <- length(minoritySet)
  doubled_m <- 2 * m
  majoritySet <- setdiff(rownames(ddata), minoritySet)
  
  a_foreach  <- foreach(k = 1:runs) %dopar% {
    sampled_majoritySet <- sample(majoritySet, doubled_m, replace = FALSE)
    tmp <- apply(ddata, 2, function(x) suppressWarnings(wilcox.test(x[minoritySet], x[sampled_majoritySet])$statistic))
    return(tmp)
  }
  ans <- a_foreach[[1]]
  for(k in 2:length(a_foreach)) ans <- ans + a_foreach[[k]]  
  ans <- sort(ans/runs/m/doubled_m, decreasing = TRUE)
  return(ans)
}
miccec/yaGST documentation built on May 23, 2019, 7:35 a.m.