如何处理R中的双冒号(:)和管道(%>;%)符号?
我正在按照指南开发一个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:
Package::function()
而不是使用library(Package)
,因为加载该包会改变R环境。但是,我为包使用的代码使用包magrittr
中的管道操作符%>%
,当我尝试在不使用lodingmagrittr
的情况下运行它时,会出现以下错误:
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
将添加导入管道到名称空间所需的内容,然后您可以按包中的原样使用。我就是这么做的。