如何在magrittR管道中使用函数之前实现函数的部分应用?

时间:2016-03-08 08:37:28

标签: r dplyr magrittr

我希望有可参数化的管道部分。

这是我想写的代码:

library(magrittr)
d <- data.frame(x=1:5)
add_n <- function(n) . %>% transform(x = x + n)
d %>% add_n(3)

显然它不起作用,因为%>%d设置为add_n的参数。

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

add_n <- function(d, n) d %>% transform(x = x + n)
d %>% add_n(3)
#   x
# 1 4
# 2 5
# 3 6
# 4 7
# 5 8

%>%用LHS替换以下函数的第一个参数,因此你的函数需要第二个参数。