抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

管道是 R 中一种用于简化操作的方式,可以表示由多个操作组成的一个操作序列。管道是包含于 magrittr 包中的,但 tidyverse 包会自动加载管道符号 %>% 。因此加载了 tidyverse 包后并不需要再显式地加载 magrittr 包了。

管道作用

管道符号 %>% 的作用是将管道左侧的对象作为管道右侧函数的第一参数,并运行右侧的函数。并且可以在一个语句中使用多个管道符号。

对于以下两种情况,管道不能支持以下两类函数:

  • 在函数调用时的当前环境创建对象的函数。即第一参数的环境由函数决定,且没有明确指定函数环境的函数
  • 使用惰性求值的函数。即在调用前参数没有指定的函数

不适用管道的情形

  • 操作步骤过长
  • 有多个输入和输出
  • 操作步骤间存在复杂的依赖关系

其他工具

  • T 管道操作符:%T>% 。表达式 lhs %T>% rhs 会将 lhs 作为返回值进行接下来的操作
  • 解释管道操作符:%$% 。表达式 lhs %$% rhs 会额外将 lhs 的列名(变量)传递给 rhs
  • 分配管道操作符:%<>% 。表达式 lhs %<>% rhs 会额外将 rhs 的结果赋值给 lhs

评论



This is a picture without description

This is a picture without description This is a picture without description This is a picture without description