使用bind_rows将向量列表转换为数据帧

时间:2020-07-13 10:13:13

标签: r dplyr purrr

我有一个要转换为数据帧的向量列表。

代码

a <- list( c(1,2,3,4), 
           c(1,2,3,4), 
           c(4,5,6,3), 
           c(6,3,2,6))

this post的帮助下,我可以通过以下方式进行操作:

library(tidyverse)
a %>% 
   reduce(rbind) %>% 
   as.data.frame()

> a %>% reduce(rbind) %>% as.data.frame()
      V1 V2 V3 V4
out    1  2  3  4
elt    1  2  3  4
elt.1  4  5  6  3
elt.2  6  3  2  6

我想使用purrr的{​​{1}}函数(bind_rows()),因为它似乎更方便。但是,这会产生错误:

错误:参数1必须具有名称。

问题

  1. 这是怎么回事?
  2. 如何防止它发生;)?

1 个答案:

答案 0 :(得分:2)

一个选项可能是:

map_dfr(a, ~ set_names(.x, paste0("V", seq_along(.x))))

     V1    V2    V3    V4
  <dbl> <dbl> <dbl> <dbl>
1     1     2     3     4
2     1     2     3     4
3     4     5     6     3
4     6     3     2     6