如何在R中使用带有附加参数的magrittr管道运算符

时间:2018-05-20 14:42:02

标签: r arguments

关于在R程序中的管道运算符中添加参数,它是如何工作的?在这种情况下,假设我想要返回与其初始值完全相同的输出,即1,2,3,4,5。假设代码如下:

a <- as.vector(c(1:5)) %>%
  sample() %>%
  sort()

为了将其返回初始顺序,我需要在sort函数中指定一个参数。如何添加该参数?

a <- as.vector(c(1:5)) %>%
  sample() %>%
  sort(decreasing = F)

1 个答案:

答案 0 :(得分:0)

来自magrittr管道运营商的文档:

  

lhs作为rhs电话中的第一个参数

     

%>%调用中需要多个参数时rhs的默认行为是将lhs作为第一个参数,即x %>% f(y)等同于f(x, y)

所以基本上你不必在右侧指定函数调用的第一个参数。

一个简单的例子:

library(magrittr)
set.seed(1)
sample(1:5) %>% sort(decreasing = TRUE) %>% print() %>% sort(decreasing = FALSE)
# [1] 2 5 4 3 1
# [1] 5 4 3 2 1
# [1] 1 2 3 4 5