[R] find the index of the next largest element in a sorted vector
David Winsemius
dwinsemius at comcast.net
Wed Dec 2 16:14:31 CET 2009
On Dec 2, 2009, at 9:34 AM, Hao Cen wrote:
> Hi,
>
> How can I find the index of the next largest element in a sorted
> vector if
> an element is not found.
>
> for example, searching 2 in c(0,3,4) would return 1 since 2 is not
> in the
> vector and 0 is the next largest element to 2.
>
> I tried which and match and neither returns such information.
>
>> which(c(0,3,4) == 2)
> integer(0)
>> match(2, c(0,3,4))
> [1] NA
Take a look at these. I changed to problem so that the "answer would
be in the middle of the sequence.
> which(c(0,3,4) <= 2)
[1] 1 # but which would have retruned several values if the match
were in the middle
> which(c(-3,-1, 0,3,4) <= 2)
[1] 1 2 3
> tail(which(c(-3,-1,0,3,4) <= 2),1)
[1] 3 # the desired index
--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list