how to subsample all possible combinations of n species taken 1:n at a time?
If I understand your problem properly, you could just note that selecting 1:n of n objects is the same as deciding separately whether each one is included or not. (exclude the case where none are selected). Take 1000 of these and you are there- except some are duplicates - so generate extras and eliminate the duplicates, discard the extras. Something like this (not tested): p <- 2^(n-1) / (2^n - 1) #all combinations have equal probability - removing rows with all zeros result <- matrix(0,1200*n,nrow=1200) #plenty of extras for duplicates for(i in 1:1200) result[i,] <- rbinom(n,1,p) result <- subset(result,apply(result,1,sum) > 0) #cases which have at least 1 species result <- unique(result)[1:1000,] Might be interesting to see the effect of varying p on the rest of your analysis. Further memory might be saved by using sparse matrices - see the Matrix package. David Katz www.davidkatzconsulting.com
jasper slingsby wrote:
Hello I apologise for the length of this entry but please bear with me. In short: I need a way of subsampling communities from all possible communities of n taxa taken 1:n at a time without having to calculate all possible combinations (because this gives me a memory error - using combn() or expand.grid() at least). Does anyone know of a function? Or can you help me edit the combn or expand.grid functions to generate subsamples?
View this message in context: http://www.nabble.com/how-to-subsample-all-possible-combinations-of-n-species-taken-1%3An-at-a-time--tp22911399p22919388.html Sent from the R help mailing list archive at Nabble.com.