異なる列名を持つ dplyr の左結合


結合する列の名前が各データ フレームで異なる場合、dplyr で次の基本構文を使用して 2 つのデータ フレームを左結合できます。

 library (dplyr)

final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name '))

この特定の例では、 df_Aおよびdf_Bというデータ フレームに対して左結合を実行し、 df_Ateamという列とdf_Bteam_nameという列を結合します。

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

例: 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'),
                   rebounds=c(14, 8, 8, 6, 9))

df_B

  team_name rebounds
1 to 14
2 C 8
3 D 8
4 F 6
5 G 9

dplyr で次の構文を使用すると、 df_Aチーム列とdf_Bチーム名列の一致する値に基づいて左結合を実行できます。

 library (dplyr)

#perform left join based on different column names in df_A and df_B
final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name '))

#view final data frame
final_df

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

結果のデータ フレームには、df_Aのすべての行と、チームの値がteam_name の値と一致するdf_Bの行のみが含まれます。

次の基本構文を使用して、異なる名前を持つ複数の列を検索することもできることに注意してください。

 library (dplyr)

#perform left join based on multiple different column names
final_df <- left_join(df_A, df_B, by = c(' A1 ' = ' B1 ', ' A2 ' = ' B2 ', ' A3 ' = ' B3 '))

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

追加リソース

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

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

コメントを追加する

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