当前位置:网站首页>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,里面是这么说的
- 管道步数过多时不用,主要原因在于不方便调试。比较合理的做法是适当选择每次操作的步数,得到一些具有阶段性意义的中间变量。
- 具有多个输入和输出时不用,这个显而易见
- 管道符适合线性操作,一步一步。如果是一些“非线性”操作,管道函数将变得无力
边栏推荐
猜你喜欢
随机推荐
Debian 10 iptables (防火墙)配置
数据库原理作业2 — JMU
In-depth analysis of z-index
【云原生】-Docker容器迁移Oracle到MySQL
webdriver.定位元素
uni-app生命周期
Debian 搭建 WireGuard 服务端
英语翻译软件-批量自动免费翻译软件支持三方接口翻译
LVM和磁盘配额
Analysis of pseudo-classes and pseudo-elements
成员内部类使用方式(工作)
自动化测试之unittest框架
防抖和节流
银河麒麟高级服务器v10 sp1 手动加载Raid卡驱动
shell脚本 -d 是目录文件,那么-e,-f等说明
银河麒麟服务器v10 sp1安装.net6
等待,信息打印,浏览器操作,键盘事件
Oracle入门 10 - Linux 设备类型与文件目录结构
自动翻译软件-批量批量自动翻译软件推荐
TypeScript基本类型









