在 R 中使用 :: 使用管道运算符“%>%”

Nic*_*ano 2 r pipe

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

我感谢任何有关此的指南。

PD:我应该从 magrittr 而不是 purrr 打电话给管道操作员吗?

小智 5

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

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

`%>%` <- purrr::`%>%`
Run Code Online (Sandbox Code Playgroud)

查看:

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  
Run Code Online (Sandbox Code Playgroud)

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