问题
I am building an R package and I am using intensively the pipe operator %>%. I am wandering how to call it from purrr package using :: operator. I have tried purrr::%>%
but get an error.
I appreciate any guide on this.
P.D: should I call the pipe operator from magrittr rather than purrr?
回答1:
Your best approach is to import it from magrittr and re-export it if you want your users to be able to access it.
Using it internally to your package only, this may work:
`%>%` <- purrr::`%>%`
check:
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
You cannot use purrr::`%>%`
directly in expressions as the operator needs to be syntactically exposed as a binary operator, i.e. as %>%
(without qualification).
来源:https://stackoverflow.com/questions/50632651/use-of-pipe-operator-using-in-r