在bind_rows

时间:2018-07-03 21:20:12

标签: r dplyr

下面的数据框的名称可以轻松地通过粘贴来重新创建,但是结果不能输入到bind_rows中。

以下是一致命名的数据帧(x1,x2,x3):

library(dplyr)

x1 <- tibble(col1 = state.abb[1:3])
x2 <- tibble(col1 = state.abb[4:6])
x3 <- tibble(col1 = state.abb[7:9])

bind_rows可以。...但是键入每个名称很繁琐

bind_rows(x1,x2,x3)
#> # A tibble: 9 x 1
#>   col1 
#>   <chr>
#> 1 AL   
#> 2 AK   
#> 3 AZ   
#> 4 AR   
#> 5 CA   
#> 6 CO   
#> 7 CT   
#> 8 DE   
#> 9 FL

我想用粘贴或其他相对简单的方法来创建名称

created.names <- paste0("x", 1:3)
[1] "x1" "x2" "x3"

bind_rows(created.names)
#> Error in bind_rows_(x, .id): Argument 1 must have names

reprex package(v0.2.0)于2018-07-03创建。

1 个答案:

答案 0 :(得分:2)

mget之前的名称上使用bind_rows,这将返回具有所提供名称的数据帧列表:

bind_rows(mget(created.names))

# A tibble: 9 x 1
#  col1 
#  <chr>
#1 AL   
#2 AK   
#3 AZ   
#4 AR   
#5 CA   
#6 CO   
#7 CT   
#8 DE   
#9 FL