bind | R Documentation |
This is an efficient implementation of the common pattern of
do.call(rbind, dfs)
or do.call(cbind, dfs)
for binding many
data frames into one.
bind_rows(..., .id = NULL) bind_cols( ..., .name_repair = c("unique", "universal", "check_unique", "minimal") )
... |
Data frames to combine. Each argument can either be a data frame, a list that could be a data frame, or a list of data frames. When row-binding, columns are matched by name, and any missing columns will be filled with NA. When column-binding, rows are matched by position, so all data frames must have the same number of rows. To match by value, not position, see mutate-joins. |
.id |
Data frame identifier. When |
.name_repair |
One of |
The output of bind_rows()
will contain a column if that column
appears in any of the inputs.
bind_rows()
and bind_cols()
return the same type as
the first input, either a data frame, tbl_df
, or grouped_df
.
one <- starwars[1:4, ] two <- starwars[9:12, ] # You can supply data frames as arguments: bind_rows(one, two) # The contents of lists are spliced automatically: bind_rows(list(one, two)) bind_rows(split(starwars, starwars$homeworld)) bind_rows(list(one, two), list(two, one)) # In addition to data frames, you can supply vectors. In the rows # direction, the vectors represent rows and should have inner # names: bind_rows( c(a = 1, b = 2), c(a = 3, b = 4) ) # You can mix vectors and data frames: bind_rows( c(a = 1, b = 2), tibble(a = 3:4, b = 5:6), c(a = 7, b = 8) ) # 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(one, two), .id = "id") bind_rows(list(a = one, b = two), .id = "id") bind_rows("group 1" = one, "group 2" = two, .id = "groups") # Columns don't need to match when row-binding bind_rows(tibble(x = 1:3), tibble(y = 1:4)) # Row sizes must be compatible when column-binding try(bind_cols(tibble(x = 1:3), tibble(y = 1:2))) # Even with 0 columns try(bind_cols(tibble(x = 1:3), tibble())) bind_cols(one, two) bind_cols(list(one, two))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.