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

泪湿孤枕 提交于 2019-12-07 17:21:57

问题


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.


回答1:


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.



来源:https://stackoverflow.com/questions/9595828/better-way-to-find-a-minimum-value-that-fits-a-condition

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!