如何处理R中的双冒号(:)和管道(%>;%)符号?

如何处理R中的双冒号(:)和管道(%>;%)符号?,r,pipe,r-package,R,Pipe,R Package,我正在按照指南开发一个R包,其中指出最好使用Package::function()而不是使用library(Package),因为加载该包会改变R环境。但是,我为包使用的代码使用包magrittr中的管道操作符%>%,当我尝试在不使用lodingmagrittr的情况下运行它时,会出现以下错误: Error in scores %>% dplyr::group_by(group) : could not find function "%>%" 我曾尝试使用magrittr:

我正在按照指南开发一个R包,其中指出最好使用
Package::function()
而不是使用
library(Package)
,因为加载该包会改变R环境。但是,我为包使用的代码使用包
magrittr
中的管道操作符
%>%
,当我尝试在不使用loding
magrittr
的情况下运行它时,会出现以下错误:

Error in scores %>% dplyr::group_by(group)  : 
  could not find function "%>%"
我曾尝试使用
magrittr::%%>%
,但没有成功。我也尝试过用括号括起
(dplyr::group_by(group))
,但还是出现了同样的错误

有没有办法解决这个问题,或者我应该删除管道并使用嵌套选项


谢谢大家!

magrittr:`%>%`
将为您提供管道,dplyr:`%>%`(这只是从
magrittr
重新导出)。因为
%
-函数在R术语中是“特殊的”,所以您需要在函数名本身周围使用反勾号。您还可以在控制台中运行
usethis::use_pipe()
。包
usethis
将添加导入管道到名称空间所需的内容,然后您可以按包中的原样使用。这就是我所做的。
magrittr:`%>%`
将为您提供管道,dplyr:`%>%`(这只是从
magrittr
重新导出的)。因为
%
-函数在R术语中是“特殊的”,所以您需要在函数名本身周围使用反勾号。您还可以在控制台中运行
usethis::use_pipe()
。包
usethis
将添加导入管道到名称空间所需的内容,然后您可以按包中的原样使用。我就是这么做的。