title: Better way to find a minimum value that fits a condition?
body: <p>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?</p>
  
  <pre><code>closest.preceding &lt;- function(candidates, limit) {
      # return the value in candidates that is closest to but less than the limit
      return(limit - min(limit-candidates[candidates &lt; limit]))
  }
  </code></pre>
  
  <p>Thanks for any insight.</p>