當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。