在 magrittR 管道中使用函数之前,如何实现函数的部分应用?
How can I achieve partial application of a function before using it within a magrittR pipeline?
我想要管道的可参数化部分。
这是我要编写的代码:
library(magrittr)
d <- data.frame(x=1:5)
add_n <- function(n) . %>% transform(x = x + n)
d %>% add_n(3)
显然是行不通的,因为%>%
设置了d
作为add_n
的参数。
您可以执行以下操作:
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,因此您的函数需要第二个参数。
我想要管道的可参数化部分。
这是我要编写的代码:
library(magrittr)
d <- data.frame(x=1:5)
add_n <- function(n) . %>% transform(x = x + n)
d %>% add_n(3)
显然是行不通的,因为%>%
设置了d
作为add_n
的参数。
您可以执行以下操作:
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,因此您的函数需要第二个参数。