title: select columns based on range condition and containing also NA values
body: <p>Based on my question <a href="https://stackoverflow.com/questions/59599583/select-columns-based-on-range-condition-with-dplyrs-select-if-function">here</a></p>
  
  <p>I have a dataset :
  I want to keep columns based on values range : all values of subsetted columns must be between 99 an 1000.</p>
  
  <pre><code> var1 &lt;- c(333, NA, 456)
   var2 &lt;- c(3, 10, 500)
   var3 &lt;- c(356, 813, 856)
   var4 &lt;- c("aaa", "bbb", "ccc")
   var5 &lt;- c(NA, 111, 989)
  
  dataset &lt;- data.frame(var1, var2, var3, var4, var5)
  </code></pre>
  
  <p>It works well without NA values </p>
  
  <pre><code>dataset %&gt;%
  select_if(~ is.numeric(.) &amp;&amp; all(between(., 99, 1000)))
  </code></pre>
  
  <p>or </p>
  
  <pre><code>purrr::keep(dataset, ~is.numeric(.) &amp;&amp; min(.) &gt;= 99 &amp;&amp; max(.) &lt;= 1000)
  </code></pre>
  
  <p>but when I introduce NA in my data : </p>
  
  <p><code>select_if</code> function returns me this error :<br>
   "Only strings can be converted to symbols"</p>
  
  <p><code>puur::keep</code> function returns me this error :
  "Predicate functions must return a single <code>TRUE</code> or <code>FALSE</code>, not a missing value"</p>
  
  <p>How can I manage NA ? Select columns based on values range containing alos NA values ?</p>