Dplyr 中具有不同列名的左连接


当您要连接的列在每个数据框中具有不同的名称时,您可以在 dplyr 中使用以下基本语法来左连接两个数据框:

 library (dplyr)

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

此特定示例将对名为df_Adf_B的数据框执行左连接,连接df_A中名为team的列和df_B中名为team_name的列。

以下示例展示了如何在实践中使用此语法。

示例:在 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'),
                   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_Ateam列和df_Bteam_name列中的匹配值执行左连接:

 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中的所有行以及df_B团队值与team_name值匹配的行。

请注意,您还可以使用以下基本语法搜索具有不同名称的多个列:

 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 中进行外连接

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注