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

______________________________________________
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