Вы можете использовать функцию bind_rows() из пакета dplyr в R, чтобы связать вместе два фрейма данных по их строкам:
bind_rows(df1, df2, df3, ...)
Точно так же вы можете использовать функцию bind_cols() из dplyr, чтобы связать вместе два фрейма данных по их столбцам:
bind_cols(df1, df2, df3, ...)
В следующих примерах показано, как использовать каждую из этих функций на практике.
Пример 1: Используйте bind_rows()
В следующем коде показано, как использовать функцию bind_rows() для связывания трех фреймов данных вместе на основе их строк:
library(dplyr)
#create data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=c(8, 17, 22, 25))
df3 <- data.frame(team=c('A', 'B', 'C', 'C'),
assists=c(4, 9, 12, 6))
#row bind together data frames
bind_rows(df1, df2, df3)
team points assists
1 A 12 NA
2 A 14 NA
3 B 19 NA
4 B 24 NA
5 A 8 NA
6 B 17 NA
7 C 22 NA
8 C 25 NA
9 A NA 4
10 B NA 9
11 C NA 12
12 C NA 6
Обратите внимание, что эта функция автоматически заполняет отсутствующие значения NA, если не все фреймы данных имеют одинаковые имена столбцов.
Пример 2: Используйте bind_cols()
В следующем коде показано, как использовать функцию bind_cols() для связывания трех фреймов данных вместе на основе их столбцов:
library(dplyr)
#create data frames
df1 <- data.frame(team=c('A', 'A', 'B', 'B'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=c(8, 17, 22, 25))
df3 <- data.frame(team=c('A', 'B', 'C', 'C'),
assists=c(4, 9, 12, 6))
#column bind together data frames
bind_cols(df1, df2, df3)
team points assists steals blocks rebounds
1 A 12 A 8 A 4
2 A 14 B 17 B 9
3 B 19 C 22 C 12
4 B 24 C 25 C 6
Обратите внимание, что исходные столбцы из каждого фрейма данных появляются в конечном фрейме данных в том порядке, в котором мы указали их в функции bind_cols() .
Дополнительные ресурсы
В следующих руководствах объясняется, как связать фреймы данных с помощью функций rbind() и cbind() из базы R:
В следующих руководствах объясняется, как выполнять другие распространенные функции в dplyr: