# Determining the sample size based on the amount of coverage; systematic more coverage Sample.Cover.Sys.more.ftn <- function(Pop.mat, Cover.percent, index){ # Arranging the data Pop.Cov <- data.frame(Pop.mat[index,],row.names=NULL) names(Pop.Cov) <- NULL Pop.Cov <- as.matrix(Pop.Cov) Pop.Sum <- apply(Pop.Cov,2,sum) Pop.Cov <- Pop.Cov[,Pop.Sum>0,drop=F] Pop.mean <- apply(Pop.Cov,2,mean) # Finding the starting vector (see write up for elaboration on how this works) Cover <- length(Pop.Cov[1,Pop.Cov[1,]>0])/length(Pop.mean) Pop.Cover.list <- 1 for(i in 2:length(Pop.Cov[,1])){ if(length(Pop.Cov[i,Pop.Cov[i,]>0])/length(Pop.mean) > Cover){ Cover <- length(Pop.Cov[i,Pop.Cov[i,]>0])/length(Pop.mean) Pop.Cover.list <- i } } Pop.Cover <- Pop.Cov[Pop.Cover.list,] Pop.Cov.mat <- Pop.Cov Pop.Cov.mat[Pop.Cover.list,] <- 0 while(Cover < Cover.percent){ j <- 1 for(i in 1:length(Pop.Cov.mat[,1])){ Sum.Cover <- Pop.Cov.mat[i,]+Pop.Cover if(length(Sum.Cover[Sum.Cover>0])/length(Pop.mean) > Cover){ Cover <- length(Sum.Cover[Sum.Cover>0])/length(Pop.mean) j <- i } } Pop.Cover <- Pop.Cover+Pop.Cov.mat[j,] Pop.Cover.list <- c(Pop.Cover.list, j) Pop.Cov.mat[j,] <- 0 } return(list(index[Pop.Cover.list],Cover)) }