Hello all, I have written a for loop to act on a dataframe with close to 3million rows and 6 columns and I would like to pass it to apply() to speed the process up (I let the loop run for 2 days before stopping it and it had only gone through 200,000 rows) but I am really struggling to find a way to pass the arguments. Below are the loop and the head of the dataframe I am working on. Any hints would be much appreciated, thank you! (I have searched for this but could not find any other posts doing quite what I want) Paul
x<-as.numeric(all.tf7[1,2]) for (i in 2:nrow(all.tf7)) { if (all.tf7[i,1]==all.tf7[i-1,1] & (all.tf7[i,2]-x)<115341) all.tf7[i,6]<-all.tf7[i-1,6] else if (all.tf7[i,1]==all.tf7[i-1,1] & (all.tf7[i,2]-x)>=115341) { all.tf7[i,6]<-(all.tf7[i-1,6]+1) x<-as.numeric(all.tf7[i,2]) } else if (all.tf7[i,1]!=all.tf7[i-1,1]) { all.tf7[i,6]<-(all.tf7[i-1,6]+1) x<-as.numeric(all.tf7[i,2]) } } #the aim here is to attribute a bin number to each row so that I can then split the dataframe according to those bins. chrom chromStart chromEnd name cumsum bin chr1 10089 10309 ZBTB33 10089 1 chr1 10132 10536 TAF7_(SQ-8) 20221 1 chr1 10133 10362 Pol2-4H8 30354 1 chr1 10148 10418 MafF_(M8194) 40502 1 chr1 10382 10578 ZBTB33 50884 1 chr1 16132 16352 CTCF 67016 1 -- View this message in context: http://r.789695.n4.nabble.com/apply-with-multiple-conditions-tp4635098.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.