前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >38. R 数据整理(九: R 的几种管道符号)

38. R 数据整理(九: R 的几种管道符号)

作者头像
北野茶缸子
发布2021-12-17 09:23:53
4690
发布2021-12-17 09:23:53
举报
文章被收录于专栏:北野茶缸子的专栏

参考:https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/prog-control.html

类似linux 中的管道符号| ,R 也支持相关的操作。

数据处理中经常会对同一个变量(特别是数据框)进行多个步骤的操作, 比如,先筛选部分有用的变量,再定义若干新变量,再排序。R的magrittr包提供了一个%>%运算符实现这样的操作流程。比如,变量x先用函数f(x)进行变换,再用函数g(x)进行变换, 一般应该写成g(f(x)),用%>%运算符,可以表示成 x %>% f() %>% g()。更多的处理,如h(g(f(x)))可以写成 x %>% f() %>% g() %>% h()。这样的表达更符合处理发生的次序,而且插入一个处理步骤也很容易。

除了%>% 管道外,magrittr 还提供了其他几种运算符:

代码语言:javascript
复制
x %T% f()
# 其返回x 本身的值,而非修改后的返回值
# 这在中间步骤需要显示或者绘图但是需要进一步对输入数据进行处理时有用

x %$% f()
# 此运算符的作用是将左运算元的各个变量(这时左运算元是数据框或列表)暴露出来,
# 可以直接在右边调用其中的变量,类似于with()函数的作用。

x %<>% f()
# 用在管道链的第一个连接,可以将处理结果存入最开始的变量中,
# 类似于C语言的+=运算符
# 相当于 x <- x %>% f()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 北野茶缸子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档