是否可以获得F#的功能应用程序“|>” R中的运算符?

时间:2012-12-31 08:17:46

标签: r f# operator-overloading

  

可能重复:
  R Pipelining functions

与F#相比,我觉得R语法非常笨拙:

在R - 代替:

plot(exp(cumsum(returns)))

我很乐意

returns |> cumsum |> exp |> plot

有没有办法让R中的运算符重载以达到类似的效果?

感谢

2 个答案:

答案 0 :(得分:16)

当然,为什么不呢,

`%|>%` = function(x, y) y(x)
1:10 %|>% cumsum %|>% plot

答案 1 :(得分:5)

Reduce帮助页面被盗:

Funcall <- function(f, ...) f(...)
Reduce(Funcall, list(plot, exp, cumsum), 1:10, right = TRUE)