title: Binding data frames from a list with different column types
body: <p>Trying to figure out a way in purrr to bind rows over different elements of lists where the column types are not consistent. For example, my data looks a little like this...</p>
  
  <pre><code>d0 &lt;- list(
    data_frame(x1 = c(1, 2), x2 = c("a", "b")),
    data_frame(x1 = c("P1"), x2 = c("c"))
  )
  
  d0
  # [[1]]
  # # A tibble: 2 x 2
  #      x1    x2
  #   &lt;dbl&gt; &lt;chr&gt;
  # 1     1     a
  # 2     2     b
  # 
  # [[2]]
  # # A tibble: 1 x 2
  #      x1    x2
  #   &lt;chr&gt; &lt;chr&gt;
  # 1    P1     c
  </code></pre>
  
  <p>I can use a <code>for</code> loop and then <code>map_df</code> with <code>bind_rows</code> to get the output I want (<code>map_df</code> will not work if the columns are of different types)...</p>
  
  <pre><code>for(i in 1:length(d0)){
    d0[[i]] &lt;- mutate_if(d0[[i]], is.numeric, as.character)
  }
  
  map_df(d0, bind_rows)
  # # A tibble: 3 x 2
  #      x1    x2
  #   &lt;chr&gt; &lt;chr&gt;
  # 1     1     a
  # 2     2     b
  # 3    P1     c
  </code></pre>
  
  <p>but I think I am missing a trick somewhere that would allow me to avoid the <code>for</code> loop. My attempts along these lines...</p>
  
  <pre><code>d0 %&gt;%
    map(mutate_if(., is.numeric, as.character)) %&gt;%
    map_df(.,bind_rows)
  # Error in UseMethod("tbl_vars") : 
  #   no applicable method for 'tbl_vars' applied to an object of class "list"
  </code></pre>
  
  <p>... do not seem to work (still getting my head around purrr)</p>