title: mutate_at(): must be a 1d atomic vector or a list
body: <p>I have the following data</p>
  
  <pre><code>df &lt;- tibble(a = rnorm(10,0,1), b = a+6, c = b/2)
  df %&gt;% mutate_at(vars(a, b), scale) %&gt;% GGally::ggpairs()
  </code></pre>
  
  <p>This returned the error</p>
  
  <blockquote>
    <p>Error: Column <code>a</code> must be a 1d atomic vector or a list</p>
  </blockquote>
  
  <p>Some further digging showed that the <code>str()</code> is changed with <code>mutate_at()</code>.</p>
  
  <pre><code>&gt; df %&gt;% mutate_at(vars(a, b), scale) %&gt;% str
  Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   10 obs. of  3 variables:
   $ a: num [1:10, 1] -1.274 -0.81 0.362 1.374 1.06 ...
    ..- attr(*, "scaled:center")= num 0.106
    ..- attr(*, "scaled:scale")= num 0.813
   $ b: num [1:10, 1] -1.274 -0.81 0.362 1.374 1.06 ...
    ..- attr(*, "scaled:center")= num 6.11
    ..- attr(*, "scaled:scale")= num 0.813
   $ c: num  2.54 2.72 3.2 3.61 3.48 ...
  </code></pre>
  
  <p>How do I work with <code>df</code> after I changed variables via <code>mutate_at()</code>? For example, how can I use <code>GGally::ggcoef</code> with my scaled data?</p>