General problem: I have 20 projects that can be invested in and I need to decide which combinations meet a certain set of standards. The total possible combinations comes out to 2^20. However I know for a fact that the number of projects must be greater than 5 and less than 13. So far the the code below is the best I can come up with for iteratively creating a set to check against my set of standards.
Code x<-matrix(0,nrow=1,ncol=20) for(i in 1:2^20) { x[1]<-x[1]+1 for(j in 1:20) { if(x[j]>1) { x[j]=0 if(j<20) { x[j+1]=x[j+1]+1 } } } if(sum(x)>5 && sum(x)<13) { # insert criteria here. } } my code forces me to create all 2^20 x's and then use an if statement to decide if x is within my range of projects. Is there a faster way to increment x. Any ideas on how to kill the for loop so that it won't attempt to process an x where the sum is greater than 12 or less than 6? -- View this message in context: http://r.789695.n4.nabble.com/Speeding-up-a-loop-tp4637201.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.