title: How to apply regex over entire dataframe without making all columns to character
body: <p>I needed to remove "Z" from dataframe:</p>
  
  <pre><code>df &lt;- data.frame(Mineral = c("Zfeldspar", "Zgranite", "ZSilica"),
                  Confidence = c("ZLow", "High", "Med"),
                  Coverage = c("sub", "sub", "super"),
                  Aspect = c("ZPos", "ZUnd", "Neg"),
                  Pile1 = c(70, 88, 95),
                  Pile2 = c(62,41,81))
  </code></pre>
  
  <p>I used tidyverse:</p>
  
  <pre><code>library(tidyverse)
  
  df &lt;- mutate_all(df, funs(str_replace_all(., "Z", ""))) %&gt;%
        mutate(PileAvg = mean(Pile1 + Pile2))
  </code></pre>
  
  <p>But I get error</p>
  
  <pre><code>Error in mutate_impl(.data, dots) : 
    Evaluation error: non-numeric argument to binary operator.
  </code></pre>
  
  <p>I did investigating and this is because Pile columns are character now, not numbers. How do I use regex to remove "Z" without changing everything? Thank you for you help.</p>