R语言中管道符号%>%的使用
尔云间 一个专门做科研的团队
关注我们

今天小果给大家带来的是管道符%>%。尽管在编写代码的时候我们可以使用自动补全功能大大减少工作量,但编程的过程依旧繁琐,使用管道符可以在某些时候减少代码量,更方便观察。%>%有一个快捷输入方法,即control,shift加m键,下面我们来演示管道符的操作方法。
第一步
首先加载包:library(magrittr),用到了数据集mtcars。

管道符的意思就是把符号前面的输出作为符号后面的输入。在没有管道符的情况下,若是使用subset函数将数据集mtcars中hp>100的部分提取出来,应当写为下方样式:
第二步
处理过程应当写为如下样式:
我们可以仔细分辨一下两者之间的不同之处,但从代码长度上来看,运用%>%管道符虽然可以少量缩减代码但并没有太大的优势。但从可读性来看,管道符的应用避免了一个函数套一个函数,指向性很强。
如果我们不另外设置变量newdata,那么只能写成这个样子,到这一步括号就已经变得比较多了,但还勉强可以看。这里有一个地方要注意,符号 . 在有管道符的情况下会被用以代替从管道符前面接收到的变量,但优先级并不高。程序将优先执行 . 符号本身的含义。也就是说,在代码aggregate(. ~ cyl, data = ., FUN = . %>% mean %>% round(2))中除去. ~ cyl之外的符号 . 才被用于代表管道符前面接收到的变量。
第三步
在建立新变量的情况下,可以写为:
若不建立新变量,又不使用管道符,他将完全丧失可读性。
使用管道符,既可以减少设置多余的变量,又能简化代码增强可读性,实在是一项不得不掌握的编程利器。今天小果的分享就到这,祝大家生活愉快。
推荐阅读
关注小果,小果将会持续为你带来更多生信干货哦。

“生信果”,生信入门、R语言、生信图解读与绘制、软件操作、代码复现、生信硬核知识技能、服务器、生物信息学的教程,以及基于R的分析和可视化等原创内容,一起见证小白和大佬的成长。