当前位置:网站首页>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,里面是这么说的
- 管道步数过多时不用,主要原因在于不方便调试。比较合理的做法是适当选择每次操作的步数,得到一些具有阶段性意义的中间变量。
- 具有多个输入和输出时不用,这个显而易见
- 管道符适合线性操作,一步一步。如果是一些“非线性”操作,管道函数将变得无力
边栏推荐
猜你喜欢

12.0 堆参数调优入门之GC收集日志信息

How to use repeating-linear-gradient

TCP/IP协议和互联网协议群

深度解析 z-index

NFS共享存储服务

Oracle入门 09 - Linux 文件上传与下载

多线程(1)

等待,信息打印,浏览器操作,键盘事件

360推送-360推送工具-360批量推送工具

Analysis of the implementation principle and detailed knowledge of v-model syntactic sugar and how to make the components you develop support v-model
随机推荐
Oracle入门 02 - IT软硬件平台及操作系统介绍
routeros KVM安装LEDE 20191030最新版应用
shell的脚本的基本用法
讲解实例+详细介绍@Resource与@Autowired注解的区别(全网最全)
2022.7.29 数组
04-SDRAM:读操作(突发)
浅析v-model语法糖的实现原理与细节知识及如何让你开发的组件支持v-model
Oracle入门 13 - Linux文件目录类命令
11.0 堆参数调优入门之堆参数调整
实现二叉树的基本操作
自动翻译软件-批量批量自动翻译软件推荐
DDL+DML+DQL
Gradle剔除依赖演示
Skywalking安装部署
二叉树的还原(反序列化)
DirectExchange交换机简单入门demo
frp内网穿透服务
mysql索引失效的常见9种原因详解
10.0 堆体系结构概述之元空间/永久代
webdriver.定位元素