当前位置:网站首页>tidyverse笔记——管道函数
tidyverse笔记——管道函数
2022-07-31 05:39:00 【高冷现充】
管道函数
管道函数无疑是R中最为强力和有趣的发明之一,事实上,在shell编程中我也见过管道函数,管道函数于其说是函数,更不如说是一种方法,一种思想。
管道函数
- 符号表示:
%>% - 快捷键:
cirl+shift+m - 包含在
magrittr包中 - 虽然不包含在 tidyverse 包中,但 tidyverse 会自动加载
- 最明显的一个优点是:不必为你的中间变量创建R对象,阅读性极高
它会将管道左边的数据作为管道右边的函数的第一个参数,数据作为参数传递下去,例如:
iris %>% group_by(Species)
%>% arrange(Sepal.Length)
%>% print(n = Inf)
第一个管道符,将鸢尾花数据作为参数传入 group_by 得到按物种分组的新的数据集;新的数据集紧接着又作为 arrange 的第一个参数按照花萼长度进行排序 ;最后将数据全部显示出来,等价写法为
temp <- group_by(iris, Species)
temp <-arrange(temp, Speal.Length)
print(temp, n = Inf)
rm(temp)
显然,用上管道符后的阅读体验是非常好的,一个管道符一次操作。而且等价写法中我还得删除了临时对象temp
不适合用管道函数的情形
参照 R for Data Science,里面是这么说的
- 管道步数过多时不用,主要原因在于不方便调试。比较合理的做法是适当选择每次操作的步数,得到一些具有阶段性意义的中间变量。
- 具有多个输入和输出时不用,这个显而易见
- 管道符适合线性操作,一步一步。如果是一些“非线性”操作,管道函数将变得无力
边栏推荐
猜你喜欢
随机推荐
(border-box) The difference between box model w3c and IE
英语翻译软件-批量自动免费翻译软件支持三方接口翻译
shell的脚本的基本用法
等待,信息打印,浏览器操作,键盘事件
uni-app生命周期
Hook API
ls的用法
Oracle入门 08 - Linux 系统远程登录维护
Database Principles Homework 2 — JMU
接口报错no message avaliable
2.(1)栈的链式存储、链栈的操作(图解、注释、代码)
自动翻译软件-批量批量自动翻译软件推荐
多线程(1)
数据库/表的基本操作
哪吒监控安装脚本
磁盘和储存管理
shell脚本 -d 是目录文件,那么-e,-f等说明
Debian 搭建 WireGuard 服务端
webdriver.定位元素
浅析重复线性渐变repeating-linear-gradient如何使用









