effective way to return only the first argument of "which()"
On Wed, Sep 19, 2012 at 3:20 PM, Mike Spam <ichmagspam at googlemail.com> wrote:
Hi, I was looking for a function like "which()" but only returns the first argument. Compare: x <- c(1,2,3,4,5,6) y <- 4 which(x>y) returns: 5,6 which(x>y)[1] returns: 5 which(x>y)[1] is exactly what i need. I did use this but the dataset is too big (~18 mio. Points). That's why i need a more effective way to get the first element of a vector which is bigger/smaller than a specific number. I found "match()" but this function only works for equal numbers.
It's long felt a little hack-ish but you can actually use which.min() or which.max() on logical vectors for just this purpose. x <- sample(20) which.max(x < 5) # first x satisfying the condition. Cheers, Michael
Thanks, Nico
______________________________________________ R-help at 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.