跳转至

dplyr

数据的基础处理

筛选行/列

filter() 处理数据框数据(df),筛选满足条件的

filter_if()选择满足特定条件的行,跟filter()的差别是?

slice()根据指定行数,选择行?

select() 按照指定列,形成新的数据框

select_if()选择满足特定条件的列

对行/列数据进行操作

arrange() 对df中行数据按指定列中数据进行重新排序

order() 返回排序的索引值,内置排序函数

min_rank() 最小值排序序号

sort() 对元素进行排序,内置函数

mutate() 根据旧列添加新列,或者替换旧列数,配上across()在多个列上应用相同的变换或统计函数

transmute()保留新列

lag()lead()偏移函数,后移和前移

分组统计

group_by() 指定列进行分组,分组后再用summarize()后会保留分组列

cut()函数,进行固定范围值添加新组

ungroup() 取消分组,在使用管道符进行参数传递中使用的是同一个源数据,所以要及时撤销分组操作!

n() 计算行数

count()计算唯一值出现次数,跟python不同

n_distinct()计算种类数,跟上面的唯一值次数指频数不同

处理关系数据

inner_join() 内连接

left_join()左连接

right_join()右连接

full_join() 全连接

semi_join()半连接,目的筛选左表数据类似交集但只保留做表数据。以右表数据作为标准,筛选左表中存在于右表中的数据,并不会返回右表中任何数据。右有左也有的数据。

anti_join()反连接,目的是筛选左表数据,跟半连接相反筛选右表没有的数据,返回在第一个数据框中存在而在第二个数据框中不存在的行。右无,左有的数据。

merge() 内置函数,不建议用