Я не могу избавиться от ощущения, что мне не хватает чего-то очевидного.Есть ли более ясный или более идиоматический способ сделать то, что делает следующая функция?
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])) }
Спасибо за понимание.
Вы можете сделать:
max(candidates[candidates<limit])
, которая сначала отфильтровывает только тех кандидатов, которые (строго) меньше предела, а затем берет максимум тех (которые намного ближе всего).
Я уверен, что есть и другие способы.