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

问题描述 投票:1回答:1

我正在构建一个R包,我正在密集使用管道运算符%>%。我正在徘徊如何使用:: operator从purrr包中调用它。我试过purrr::%>%但是得到了一个错误。

我很感激任何指导。

P.D:我应该从magrittr而不是purrr调用管道操作员吗?

r pipe
1个回答
2
投票

您最好的方法是从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::`%>%`,因为运算符需要在语法上公开为二元运算符,即%>%(没有限定条件)。

© www.soinside.com 2019 - 2024. All rights reserved.