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. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.