有没有办法将 R 中的管道拆分为两个输出函数?
Is there a way to split piping in R to two output functions?
我需要保存汇总表的 Latex 和 Word 版本。是否有管道运算符可以将输入分成两个输出?理想情况下,我想要一些可以 species_tab
并同时保存到 latex 和 word 中的东西。
library(datasets)
library(flextable)
library(gt)
species_tab <- iris %>%
tabyl(Species)
species_tab %>%
gt() %>%
gtsave(filename = "species.tex")
species_tab %>%
flextable() %>%
save_as_docx(path = "species.docx")
一个选项是用 {}
换行
library(datasets)
library(flextable)
library(gt)
iris %>%
tabyl(Species) %>%
{. %>%
gt() %>%
gtsave(filename = "species.tex")
. %>%
flextable() %>%
save_as_docx(path = "species.docx")
}
您可以使用 magrittr
中的 %T>%
运算符,当您想要 return 运算符的 lhs
而不是 [= 的输出时使用该运算符14=]。但是,它很混乱,并不是操作员的真正用例,所以可以使用@akrun 的解决方案。但有些情况下您不必使用 { }
并且 t 形运算符比普通管道更可取。
library(magrittr)
species_tab %T>%
{ gtsave(data = gt(.), filename = "species.tex")} %>%
flextable() %>%
save_as_docx(path = "species.docx")
我需要保存汇总表的 Latex 和 Word 版本。是否有管道运算符可以将输入分成两个输出?理想情况下,我想要一些可以 species_tab
并同时保存到 latex 和 word 中的东西。
library(datasets)
library(flextable)
library(gt)
species_tab <- iris %>%
tabyl(Species)
species_tab %>%
gt() %>%
gtsave(filename = "species.tex")
species_tab %>%
flextable() %>%
save_as_docx(path = "species.docx")
一个选项是用 {}
library(datasets)
library(flextable)
library(gt)
iris %>%
tabyl(Species) %>%
{. %>%
gt() %>%
gtsave(filename = "species.tex")
. %>%
flextable() %>%
save_as_docx(path = "species.docx")
}
您可以使用 magrittr
中的 %T>%
运算符,当您想要 return 运算符的 lhs
而不是 [= 的输出时使用该运算符14=]。但是,它很混乱,并不是操作员的真正用例,所以可以使用@akrun 的解决方案。但有些情况下您不必使用 { }
并且 t 形运算符比普通管道更可取。
library(magrittr)
species_tab %T>%
{ gtsave(data = gt(.), filename = "species.tex")} %>%
flextable() %>%
save_as_docx(path = "species.docx")