有没有办法使用 magrittr pipe operator %>% 来获得多个输出?
Is there a way to use the magrittr pipe operator %>% to get multiple outputs?
我想知道是否有一种方法可以使用 R 中的 magrittr
包从单个输入实现多个输出,这样您就可以实现以下输出:
rnorm(30) %>%
mean
rnorm(30) %>%
median
无需调用 rnorm(30)
两次。
只需将它们放在一个向量中即可:
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
我想知道是否有一种方法可以使用 R 中的 magrittr
包从单个输入实现多个输出,这样您就可以实现以下输出:
rnorm(30) %>%
mean
rnorm(30) %>%
median
无需调用 rnorm(30)
两次。
只需将它们放在一个向量中即可:
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