[R] vectorial search for elements with certain attributes

Dennis Murphy djmuser at gmail.com
Thu May 19 20:37:58 CEST 2011


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,  <infochat at 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 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.
>



More information about the R-help mailing list