- 来自:https://qiita.com/aakansh9/items/c2c4d3f653162778b757
- https://dplyr.tidyverse.org/
- https://tidyr.tidyverse.org/
dplyr是R中着名的plyr包的下一个版本,用来处理转换数据,
tidyr用来获得整洁(tidy)的数据;
%>%最初在封装magrittr中引入的管道操作器,现在这两个包中都受支持并且非常容易上瘾。
我们将会知道代码中(){}的区别。
我们将首先讨论管道运算符(%>%)。
R管道: %>%
在代码中频繁使用管道可以极大地提高代码的整洁度。它有助于避免在代码中不必要地使用临时变量。
基本含义%>%是:
| R管道代码 | 等效代码 |
|---|---|
| x %>% f | f(x) |
| x %>% f(y) | f(x,y) |
| x %>% f(.,y) | f(x,y) |
| x %>% f(y,.) | f(y,x) |
| x %>% f(y, z = .) | f(y,z=x) |
| x %>% f %>% g | g(f(x)) |
| z <- x %>% f | z <- f(x) |
请注意,x左侧的变量%>%将作为右侧函数中的第一个参数应用。可以使用点(.)称为占位符的默认行为进行更改。
但是,要记住的一件重要事情是,当.嵌套表达式中出现时,仍会应用第一个参数规则。但是使用花括号可以抑制此行为{ }。如下,
| R管道代码 | 等效代码 |
|---|---|
| data %>% f(x = ncol(.)) | f(data, x = ncol(data)) |
| data %>% { f(x = ncol(.)) } | f(x = ncol(data)) |
dplyr包
该软件包提供了直观的“动词”,可用于处理R中的数据帧(例如:用于子集化,汇总,重新排列数据帧)。
dplyr包的基本动词/功能是:
| dplyr动词 | 含义 |
|---|---|
| select() | 只保留你提到的列 |
| rename() | 重命名您提到的列 |
| mutate() | 添加新列并保留现有列 |
| filter() | 返回具有匹配条件的行的子集 |
| arrange() | 重新排序行 |
tidyr
该软件包提供动词来清理/整理数据。
这里的主要动词有:
| tidyr动词 | 含义 |
|---|---|
| gather() | 使数据更长 |
| spread() | 使长数据更广泛 |
| unite() | 将多列粘贴到一起 |
| separate() | 将一列拆分成几列 |
本文介绍R语言中dplyr和tidyr包的功能,包括数据转换、子集化、汇总、排序、数据清洗等操作。重点讲解了管道运算符%>%的使用,以及如何通过动词如select(), rename(), mutate(), filter(), arrange(), gather(), spread(), unite(), separate()等进行高效的数据处理。
1195

被折叠的 条评论
为什么被折叠?



