Лучший способ найти минимальное значение, которое соответствует условию? - PullRequest
3 голосов
/ 07 марта 2012

Я не могу избавиться от ощущения, что мне не хватает чего-то очевидного.Есть ли более ясный или более идиоматический способ сделать то, что делает следующая функция?

closest.preceding <- function(candidates, limit) {
    # return the value in candidates that is closest to but less than the limit
    return(limit - min(limit-candidates[candidates < limit]))
}

Спасибо за понимание.

1 Ответ

5 голосов
/ 07 марта 2012

Вы можете сделать:

max(candidates[candidates<limit])

, которая сначала отфильтровывает только тех кандидатов, которые (строго) меньше предела, а затем берет максимум тех (которые намного ближе всего).

Я уверен, что есть и другие способы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...