1.dplyr包

它包括了(几乎)全部可以用来加快数据处理进程的内容。它最有名的是数据探索和数据转换功能。它的链式语法让它使用起来很方便。它包括5个主要的数据处理指令:

  1. 过滤——集于某一条件过滤数据
  2. 选择——选出数据集中感兴趣的列
  3. 排列——升序或降序排列数据集中的某一个值域
  4. 变换——从已有变量生成新的变量
  5. 概括(通过group_by)——提供常用的操作分析,如最小值、最大值、均值等

只需要关注这些指令便可以完成很好的数据探索工作。让我们一起逐一了解一下这些指令。我用到了两个R中内置的数据集mtcars和iris.

把数据转换成tbl_df格式。大家可以观察一下转化前和转化后的区别在哪里。
高效数据处理R包---dplyr

Filter(数据表,条件),为筛选条件命令。
高效数据处理R包---dplyr高效数据处理R包---dplyr

select(数据表,字段…),选择自己想要的字段。
高效数据处理R包---dplyr
高效数据处理R包---dplyr

可以组合使用,实现更加复杂的功能。Filter(数据表,条件)/select(数据表,字段…)。当两个函数有共同字段时,可以用【数据表 %>% select(A,B,C) %>% filter(A>2)】等价于【filter(select(数据表,A,B,C),A>2)】
高效数据处理R包---dplyr

arrange(A),依据字段A排序。
高效数据处理R包---dplyr

mutate(a=b*c),新增加字段。
高效数据处理R包---dplyr

group_by(A):依据A分组
summarise(A,B,C):统计出A,B,C字段

高效数据处理R包---dplyr

rename(a=b)修改列名。
高效数据处理R包---dplyr
可以组合进行写:(相当于excel中的透视表)
datatable%>%filter(RESP_TYPE_NM==“Mail Open”)%>%group_by(CELL_NM)%>%summarise(email_cnt=length(unique(EMAIL_KEY)))

依据CELL_NM进行分组统计email_cnt,筛选条件为Mail Open

相关文章: