Dplyr 中具有不同列名的左连接
当您要连接的列在每个数据框中具有不同的名称时,您可以在 dplyr 中使用以下基本语法来左连接两个数据框:
library (dplyr) final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name '))
此特定示例将对名为df_A和df_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_A的team列和df_B的team_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 中执行其他常见操作: