Как использовать bind_rows и bind_cols в dplyr (с примерами)


Вы можете использовать функцию 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:

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.