Как выполнить левое соединение в r (с примерами)
Вы можете использовать функцию merge() для выполнения левого соединения в базе R:
#left join using base R merge(df1,df2, all. x = TRUE )
Вы также можете использовать функцию left_join() из пакета dplyr для выполнения левого соединения:
#left join using dplyr
dplyr::left_join(df2, df1)
Примечание. Если вы работаете с очень большими наборами данных, функция left_join() будет работать быстрее, чем функция merge() .
Следующие примеры показывают, как использовать каждую из этих функций на практике со следующими фреймами данных:
#define first data frame df1 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '), dots=c(99, 93, 96, 104)) df1 team points 1 Mavs 99 2 Hawks 93 3 Spurs 96 4 Nets 104 #define second data frame df2 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '), rebounds=c(25, 32, 38, 30), assists=c(19, 18, 22, 25)) df2 team rebound assists 1 Mavs 25 19 2 Hawks 32 18 3 Spurs 38 22 4 Nets 30 25
Пример 1: левое соединение с использованием Base R
Мы можем использовать функцию merge() в базе R для выполнения левого соединения, используя столбец «команда» в качестве столбца для соединения:
#perform left join using base R merge(df1, df2, by=' team ', all. x = TRUE ) team points rebound assists 1 Hawks 93 32 18 2 Mavs 99 25 19 3 Nets 104 30 25 4 Spurs 96 38 22
Пример 2: левое соединение с использованием dplyr
Мы можем использовать функцию left_join() из пакета dplyr для выполнения левого соединения, используя столбец «team» в качестве столбца для соединения:
library (dplyr) #perform left join using dplyr left_join(df1, df2, by=' team ') team points rebound assists 1 Mavs 99 25 19 2 Hawks 93 32 18 3 Spurs 96 38 22 4 Nets 104 30 25
Единственное различие, которое вы заметите между этими двумя функциями, заключается в том, что функция merge() автоматически сортирует строки в алфавитном порядке на основе столбца, который вы использовали для выполнения соединения.
И наоборот, функция left_join() сохраняет исходный порядок строк в первом фрейме данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как сделать внутреннее соединение в R
Как выполнить нечеткое сопоставление в R
Как добавить столбец во фрейм данных в R
Как удалить столбцы из фрейма данных в R