如何处理R中的双冒号(::)和竖线(%>%)符号?

wpcxdonn  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(144)

我正在按照http://r-pkgs.had.co.nz/package.html中的指导方针开发一个R包,该指导方针指出,最好使用package::function()而不是library(package),因为加载该包会改变R的前景。我为包使用的代码使用了来自包magrittr的管道操作符%>%,当我尝试在不加载magrittr的情况下运行它时,它会给出以下错误:

Error in scores %>% dplyr::group_by(group)  : 
  could not find function "%>%"

我试过使用magrittr::%>%,但没有成功。我也试过给(dplyr::group_by(group))加上括号,但仍然得到同样的错误。
有没有办法解决这个问题,或者我应该删除管道并使用嵌套选项?
谢谢大家!

kpbwa7wx

kpbwa7wx1#

尝试将管道中缀运算符作为标准函数进行计算

dplyr::`%>%`(scores, dplyr::by_group(group))

或者,可以将导出的管道函数设置为其他变量,然后将其作为二元运算符进行计算

`%pipe%` <- dplyr::`%>%`

scores %pipe% dplyr::group_by(group)

相关问题