该dplyrř封装具有%>%运算符,它是一个自定义缀运算符.如果一个附加名称空间,library(dplyr)可以使用此运算符.在库代码library(dplyr)中,文件顶部无效,因为存储了执行源代码后的环境; 加载的包对此没有影响.
所以为了在我的库中使用它,我有以下选项:
library(dplyr)在每个功能的开头使用.%>%.dplyr::%>%.最后一个选项是我想要做的,但我似乎无法正确使用语法.我试过了
dplyr::%>%
Run Code Online (Sandbox Code Playgroud)
并获得解析错误.也
dplyr::`%>%`
Run Code Online (Sandbox Code Playgroud)
不起作用.和
`dplyr::%>%`
Run Code Online (Sandbox Code Playgroud)
也不起作用.我认为没有任何其他方法可以放置反引号.这是R中可能的事情,还是我必须使用选项1或2?
只需通过添加一行来导入管道操作符即可
importFrom(magrittr, "%>%")
Run Code Online (Sandbox Code Playgroud)
在你的NAMESPACE文件中,或者如果你正在使用roxygen2,推杆
#' @importFrom magrittr %>%
Run Code Online (Sandbox Code Playgroud)
进入你的一个.R文件做同样的事情.
您可能也可能不想将其导出.用像这样的行导出它
export("%>%")
Run Code Online (Sandbox Code Playgroud)
在您的NAMESPACE文件中或与roxygen2
#' @export
magrittr::`%>%`
Run Code Online (Sandbox Code Playgroud)
如果您希望用户在使用您的包时使用管道操作员.如果您只需要在内部提供它,请不要导出它.