magrittr 三通管 %T>% 等效
magrittr tee pipe %T>% equivalent
我正在查看文档中 magrittr 三通管 %T>% 的示例,但我没有立即了解它在做什么。有人可以显示没有三通管的等效代码吗?
rnorm(200) %>%
matrix(ncol = 2) %T>%
plot %>% # plot usually does not return anything.
colSums
我们可以将其包装在 {}
中以获得等效的输出
library(dplyr)
rnorm(200) %>%
matrix(ncol = 2) %>%
{ plot(.)
colSums(.)
}
注意:这是首先与 {}
一起发布的
%T>%
大概是以管道中使用的 T 形分管器命名的。
如果我们将问题中的 plot
行替换为下面显示的 plot
行(并用双哈希标记),我们可以将 %T>%
替换为 %>%
.这会绘制其输入,然后将输入转发到输出,以便管道可以继续。
rnorm(200) %>%
matrix(ncol = 2) %>%
{ plot(.); . } %>% ##
colSums
因此处理过程如下图所示:
rnorm --> matrix --T--> colSums
|
v
plot
我正在查看文档中 magrittr 三通管 %T>% 的示例,但我没有立即了解它在做什么。有人可以显示没有三通管的等效代码吗?
rnorm(200) %>%
matrix(ncol = 2) %T>%
plot %>% # plot usually does not return anything.
colSums
我们可以将其包装在 {}
中以获得等效的输出
library(dplyr)
rnorm(200) %>%
matrix(ncol = 2) %>%
{ plot(.)
colSums(.)
}
注意:这是首先与 {}
%T>%
大概是以管道中使用的 T 形分管器命名的。
如果我们将问题中的 plot
行替换为下面显示的 plot
行(并用双哈希标记),我们可以将 %T>%
替换为 %>%
.这会绘制其输入,然后将输入转发到输出,以便管道可以继续。
rnorm(200) %>%
matrix(ncol = 2) %>%
{ plot(.); . } %>% ##
colSums
因此处理过程如下图所示:
rnorm --> matrix --T--> colSums
|
v
plot