【发布时间】:2016-02-09 11:07:34
【问题描述】:
我有一个函数,其中 x 介于 0 和 1 之间:
如何使用 dplyr 包中的链运算符 %>% 来做到这一点?
我尝试了以下方法:
x = 0.5
y <- (x-1)^2 %>% 1-. %>% sqrt()
但这是错误的!我怎样才能找到一种方法让链运算符自己进行计算?我这里只是一个小例子。我有一个很长的方程,想用链运算符使代码可读。
【问题讨论】:
-
使用来自 magrittr 的链运算符。
(x-1)^2 %>% { sqrt(1-.) }cran.r-project.org/web/packages/magrittr/vignettes/… -
@Frank,谢谢! {} 就是解决方案!
-
computeY <- function(x) { sqrt(1-(x-1)^2)) } -
或者:
x %>% "-"(1) %>% "^"(2) %>% "-"(.) %>% "+"(1) %>% sqrt?换句话说,我不认为管道真的会让你更复杂的例子更具可读性。 -
@xirururu 相信我,我说的不只是这次......