当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dplyr bind_rows 按行绑定多个 DataFrame


按行绑定任意数量的数据帧,产生更长的结果。这与 do.call(rbind, dfs) 类似,但输出将包含任何输入中出现的所有列。

用法

bind_rows(..., .id = NULL)

参数

...

要组合的 DataFrame 。每个参数可以是一个 DataFrame 、一个可以是 DataFrame 的列表或一个 DataFrame 列表。列按名称匹配,任何缺失的列都将用 NA 填充。

.id

可选标识符列的名称。提供一个字符串来创建标识每个输入的输出列。如果可用,该列将使用名称,否则将使用位置。

... 的第一个元素类型相同的数据帧。

例子

df1 <- tibble(x = 1:2, y = letters[1:2])
df2 <- tibble(x = 4:5, z = 1:2)

# You can supply individual data frames as arguments:
bind_rows(df1, df2)
#> # A tibble: 4 × 3
#>       x y         z
#>   <int> <chr> <int>
#> 1     1 a        NA
#> 2     2 b        NA
#> 3     4 NA        1
#> 4     5 NA        2

# Or a list of data frames:
bind_rows(list(df1, df2))
#> # A tibble: 4 × 3
#>       x y         z
#>   <int> <chr> <int>
#> 1     1 a        NA
#> 2     2 b        NA
#> 3     4 NA        1
#> 4     5 NA        2

# When you supply a column name with the `.id` argument, a new
# column is created to link each row to its original data frame
bind_rows(list(df1, df2), .id = "id")
#> # A tibble: 4 × 4
#>   id        x y         z
#>   <chr> <int> <chr> <int>
#> 1 1         1 a        NA
#> 2 1         2 b        NA
#> 3 2         4 NA        1
#> 4 2         5 NA        2
bind_rows(list(a = df1, b = df2), .id = "id")
#> # A tibble: 4 × 4
#>   id        x y         z
#>   <chr> <int> <chr> <int>
#> 1 a         1 a        NA
#> 2 a         2 b        NA
#> 3 b         4 NA        1
#> 4 b         5 NA        2
源代码:R/bind-rows.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Bind multiple data frames by row。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。