On Wed, Sep 19, 2012 at 3:20 PM, Mike Spam <ichmags...@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@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. ______________________________________________ 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.