下面的数据框的名称可以轻松地通过粘贴来重新创建,但是结果不能输入到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创建。
答案 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