Как выполнить левое соединение, используя выбранные столбцы в dplyr


Вы можете использовать следующий базовый синтаксис в dplyr для выполнения левого соединения двух фреймов данных, используя только выбранные столбцы:

 library (dplyr)

final_df <- df_A %>% 
  left_join(select(df_B, team, conference), by=" team ")

В этом конкретном примере будет выполняться левое соединение для кадров данных с именами df_A и df_B , присоединяясь к столбцу с именем team , но в результирующий кадр данных будут включены только столбцы команды и конференции df_B .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример. Выполнение левого соединения с использованием выбранных столбцов в dplyr.

Предположим, у нас есть следующие два фрейма данных в R:

 #create first data frame
df_A <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                   dots=c(22, 25, 19, 14, 38))

df_A

  team points
1 to 22
2 B 25
3 C 19
4 D 14
5 E 38

#create second data frame
df_B <- data. frame (team=c('A', 'C', 'D', 'F', 'G'),
                   conference=c('W', 'W', 'E', 'E', 'E'),
                   rebounds=c(14, 8, 8, 6, 9),
                   assists=c(4, 3, 9, 9, 4))

df_B

  team conference rebounds assists
1 AW 14 4
2 CW 8 3
3 OF 8 9
4 FE 6 9
5 GE 9 4

Мы можем использовать следующий синтаксис в dplyr для выполнения левого соединения, но при этом извлекаем только столбцы команды и конференции из df_B :

 library (dplyr)

#perform left join but only bring in team and conference columns from df_B
final_df <- df_A %>% 
  left_join(select(df_B, team, conference), by=" team ")

#view final data frame
final_df

  team points conference
1A 22W
2 B 25 NA
3C 19W
4 D 14 E
5 E 38 NA

Результирующий фрейм данных содержит все строки из df_A и только те строки из df_B , где значения команды совпадают.

Используя функцию select() dplyr, мы смогли указать, что мы хотим импортировать только столбцы команды и конференции из df_B .

Обратите внимание, что столбцы отскоков и помощи из df_B не были включены в окончательный фрейм данных.

Примечание . Полную документацию функции left_join() в dplyr вы можете найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как сделать левое соединение в R
Как сделать правильное соединение в R
Как сделать внутреннее соединение в R
Как сделать внешнее соединение в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *