genomewalker
2/10/2017 - 10:54 AM

rarefaction_shared.R


rarefaction.shared<-function(X,random) {
  n.samples <- dim(X)[2]
    shared.nogs <- function(Y, X, n.samples){
      n.shar<-vector()
      for( i in 1:random) {
       n <- sample(n.samples, Y)
       X.sub <- X[,n]
        if (Y > 1) {
         n.shared <- dim(X.sub[rowSums(X.sub > 0) == Y,])[1]
       }else{
          n.shared <- sum(X.sub > 0)
       }
       n.shar[i] <- n.shared
     }
      return(n.shar)
    }
  
    m<-mclapply(1:n.samples, shared.nogs, X, n.samples, mc.cores = 2)
    return(m)
  
}

b <- rarefaction.shared(nogXsample, 999)