我想知道是否有办法使用R中的magrittr
包来实现单个输入的多个输出,以便您可以实现此输出:
rnorm(30) %>%
mean
rnorm(30) %>%
median
无需再拨打rnorm(30)
。
答案 0 :(得分:2)
将它们放在一个矢量中:
rnorm(30) %>% { c(mean = mean(.), median = median(.)) }
# mean median
# -0.2477345 -0.1126395
花括号是这里的关键。没有它们,你将获得rnorm(30)
向量,其中均值和中值连接到最后。
另一种选择是编写自己的函数。
f <- function(x) c(mean = mean(x), median = median(x))
rnorm(30) %>% f
# mean median
# -0.12908354 -0.06667819