Hi: Here's one possible approach:
A <- c(1,3,7,8,10) B <- c(5,8) apply(outer(A, B, '-'), 2, function(x) min(which(x >= 0))) [1] 3 4 HTH, Dennis On Thu, May 19, 2011 at 2:58 AM, <infoc...@gmx.net> wrote: > I have 2 vectors A and B. For each element of B I'd like to find the index of > the next higher or equal element in A. And I'd like to store it effectiv. > E.g.: > A <- c(1,3,7,8,10) > B <- c(5,8) > > result: 3, 4 > > I have a possibility but for long vectors it works not very effectiv: > > ans <- sapply(B, function(x) which.max(A[A < x]) ) > as.integer(ans + 1) > > Is there anyone how has a better idea? > Thank you for your help, > Thomas. > -- > > ______________________________________________ > 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.