[英]Use explicit namespace with infix operator
dplyr
R软件包具有%>%
运算符,它是一个自定义的中缀运算符。 如果将名称空间附加到library(dplyr)
则可以使用此运算符。 在库代码中,文件顶部的library(dplyr)
不起作用,因为存储了执行源代码后的环境; 加载的软件包对此没有影响。
因此,为了在我的库中使用它,我有以下选择:
library(dplyr)
。 %>%
编写函数。 dplyr::%>%
。 最后一个选项是我想做的,但是我似乎无法正确理解语法。 我努力了
dplyr::%>%
并获得解析错误。 也
dplyr::`%>%`
不起作用。 和
`dplyr::%>%`
也不起作用。 我认为没有其他方法可以放置反引号。 这在R中是可能的,还是我只需要使用选项1或2?
只需导入管道操作符,只需添加如下一行即可
importFrom(magrittr, "%>%")
在您的NAMESPACE
文件中,或者如果您使用的是roxygen2
,
#' @importFrom magrittr %>%
放入您的.R
文件之一即可执行相同操作。
您可能也可能不想将其导出。 用以下行导出它
export("%>%")
在您的NAMESPACE
文件中或使用roxygen2
#' @export
magrittr::`%>%`
如果希望用户在使用软件包时使用管道运算符。 如果只需要内部可用,则不要导出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.