Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Better way to find a minimum value that fits a condition?

Tags:

r

minimum

I can't get past the feeling that I am missing something obvious. Is there a clearer or more idiomatic way to do what the following function does?

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]))
}

Thanks for any insight.

like image 552
Patrick Avatar asked Dec 04 '25 10:12

Patrick


1 Answers

You could do:

max(candidates[candidates<limit])

Which first filters out just those candidates that are (strictly) less than the limit, and then takes the max of those (which much be the closest).

I'm sure there are other ways too.

like image 129
mathematical.coffee Avatar answered Dec 06 '25 01:12

mathematical.coffee