对于单参数函数,将“标准”R代码翻译为magrittr
管道样式是相当简单的。如何使用具有多参数函数的magrittr管道?
mean(rnorm(100))
成为
rnorm(100) %>% mean
对于多参数的函数,这是我不明白什么是最好的生活方式是。有两种情况。
首先,附加参数是常量的情况。在这种情况下,您可以创建一个匿名函数来更改常量值。例如:
mean(rnorm(100, trim = 0.5))
变得
rnorm(100) %>% (function(x) mean(x, trim = 0.5))
其次,如果需要多个参数向量的情况下。在这种情况下,您可以将输入组合到一个列表中,并创建一个匿名函数,该函数对列表元素进行操作。
cor(rnorm(100), runif(100))
成为
list(x = rnorm(100), y = runif(100)) %>% (function(l) with(l, cor(x, y)))
在这两种情况下,我的解决方案似乎不多,所以我觉得我缺少一个更好的方式来做到这一点笨重。我应该如何将多个参数传递给函数?
我倾向于在这种情况下使用'pipeR'。这部分是每个用户更习惯的习惯用语,所以我建议大家一起玩这两个包,看看哪些可以帮助他们更多。 – 2014-09-21 13:16:16
@CarlWitthoft有趣。那么'pipeR'解决方案的外观如何? – 2014-09-21 13:24:57
那么,我并不擅长管道工具,但我喜欢'pipeR'的是你可以使用“。”。在右侧的多个位置表示左侧的输出。 – 2014-09-21 16:47:29