文章来源于:https://github.com/gadenbuie/tidyexplain#relational-data
Mutating Joins —
inner_join(),left_join(),right_join(),full_join()Set Operations —
union(),union_all(),intersect(),setdiff()Tidy Data —
spread()andgather()
dplyr包里的合并函数:
left_join 左合并:保留右侧里与左侧一致的行,增加到新的一列。右侧与左侧不匹配的行会被删除。

left-join.gif

right_join和left_join方法一样,只是保留的是右侧的,删除的是左侧的。
full_join 全合并:会根据指定列合并,右侧和左侧不一致的行,都会被保留,作为新的一行,缺失的值会用NA填充。

full-join.gif
inner_join:保留合并依据列,左侧和右侧都有的行的数据

inner-join.gif
anti_join:找出根据指定列,左侧中与右侧不一致的列所对应的行

anti-join.gif
setdiff:找出左侧和右侧完全匹配行,之外左侧的行

setdiff.gif
intersect:提取左侧和右侧整行完全一致的行

intersect.gif
长短数据的互相转换的过程

tidyr-spread-gather.gif
长数据变宽数据
spread(longdata,key,val) 参数1:长数据,参数2:key所在的列(即type列),参数3:key或type对应的数值value
宽数据变长数据
gather(wide,key,val,x:z) 参数1:宽数据,参数2:要生成的新的key/type列的名称,参数3:新生成的type列的数值,参数4:指定要合并那些列