R语言中inner_join、left_join、right_join、full_join函数
001、测试数据
library(dplyr) class1 <- tribble( ~'名次',~'姓名', '第一名','王某人', '第二名','张周人', '第三名','李某人' ) class2 <- tribble( ~'名次',~'姓名', '第一名','胡某人', '第二名','刘周人', '第四名','于某人' ) class1 class2
002、inner_join
class1 class2 inner_join(class1, class2, by='名次') ## inner_join 相当于取交集
003、left_join
class1 class2 left_join(class1, class2, by='名次') ## 保留左侧的条目
004、right_join
class1 class2 right_join(class1, class2, by='名次') ## 保留右侧的条目
005、full_join
class1 class2 full_join(class1, class2, by='名次')
006、其他
> class2<-tribble( + ~'名次',~'姓名', + '第一名','胡某人', + '第二名','刘某人', + '第四名','于某人' + ) > sports<-tribble( + ~'项目',~'运动员', + '乒乓球','于某人', + '篮球','胡某人', + '足球','刘某人' + ) > left_join(class2,sports,by=c('姓名'='运动员')) # A tibble: 3 × 3 名次 姓名 项目 <chr> <chr> <chr> 1 第一名 胡某人 篮球 2 第二名 刘某人 足球 3 第四名 于某人 乒乓球