Dplyr で選択した列を使用して左結合を実行する方法


dplyr で次の基本構文を使用すると、選択した列のみを使用して 2 つのデータ フレームで左結合を実行できます。

 library (dplyr)

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

この特定の例では、 df_Aおよびdf_Bというデータ フレームで左結合を実行し、 teamという列に結合しますが、結果のデータ フレームにはdf_Bチーム列と会議列のみが含まれます。

次の例は、この構文を実際に使用する方法を示しています。

例: dplyr で選択した列を使用して左結合を実行する

R に次の 2 つのデータ フレームがあるとします。

 #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の行のみが含まれます。

dplyr のselect()関数を使用すると、 df_Bからチーム会議の列のみをインポートすることを指定できました。

df_Bからのバウンスアシスト列が最終的なデータ フレームに含まれていないことに注意してください。

: dplyr のleft_join()関数の完全なドキュメントは、ここで見つけることができます。

追加リソース

次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。

Rで左結合を行う方法
Rで正しい結合を行う方法
Rで内部結合を行う方法
Rで外部結合を行う方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です