繁体   English   中英

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

[英]use of pipe operator “%>%” using :: in R

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

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

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

如果您希望您的用户能够访问它,最好的方法是从 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::`%>%` ,因为该运算符需要在语法上公开为二元运算符,即%>% (无限定)。

从 R 版本 4.1.0 开始,现在有一个基本的 R 管道运算符: |>

iris |>
  summary()

  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM