title: Error in bind_rows_(x, .id) : Argument 1 must have names
body: <p>Here is a code snippet:</p>
  
  <pre><code>y &lt;- purrr::map(1:2, ~ c(a=.x))
  test1 &lt;- dplyr::bind_rows(y)
  test2 &lt;- do.call(dplyr::bind_rows, y)
  </code></pre>
  
  <p>The first call to <code>bind_rows</code> (<code>test1</code>) generates the error</p>
  
  <pre><code>Error in bind_rows_(x, .id) : Argument 1 must have names
  </code></pre>
  
  <p>Using <code>do.call</code> to invoke <code>bind_rows</code> (<code>test2</code>), on the other hand, works as expected:</p>
  
  <pre><code>test2
  # A tibble: 2 x 1
        a
    &lt;int&gt;
  1     1
  2     2
  </code></pre>
  
  <p>Why? This is using dplyr 0.7.6 and purrr 0.2.5. If I use <code>map_df</code> instead of <code>map</code>, it fails with the same error.</p>
  
  <p>Note: It doesn't appear to me that this question is the same as <a href="https://stackoverflow.com/questions/48512461/error-in-bind-rows-x-id-argument-1-must-have-names-using-map-df-in-purrr">Error in bind_rows_(x, .id) : Argument 1 must have names using map_df in purrr</a>. </p>
  
  <p>EDIT: The other way to address this issue is by explicitly creating a dataframe in the first place:</p>
  
  <pre><code>y &lt;- purrr::map(1:2, ~ data.frame(a=.x))
  </code></pre>
  
  <p><code>test1</code> and <code>test2</code> are now created with no errors and are identical. </p>
  
  <p>Alternatively,this creates the <code>test2</code> data frame in one step:</p>
  
  <pre><code>purrr::map_df(1:2, ~ data.frame(a=.x))
  </code></pre>