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.

Reply via email to