首页 > 解决方案 > 在 R 中使用 :: 使用管道运算符“%>%”

问题描述

我正在构建一个 R 包,并且我正在大量使用管道运算符 %>%。我正在徘徊如何使用 :: 运算符从 purrr 包中调用它。我已经尝试过purrr::%>%,但出现错误。

我很欣赏这方面的任何指南。

PD:我应该从 magrittr 而不是 purrr 呼叫管道操作员吗?

标签: rpipe

解决方案


如果您希望您的用户能够访问它,最好的方法是从 magrittr 导入它并重新导出它。

仅在您的包内部使用它,这可能有效:

`%>%` <- purrr::`%>%`

查看:

iris %>% summary
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
       Species  
 setosa    :50  
 versicolor:50  
 virginica :50  

您不能purrr::`%>%`直接在表达式中使用,因为运算符需要在语法上作为二元运算符公开,即 as %>%(无限定)。


推荐阅读