如何在roxygen包中导入dplyr的管道操作符%>%?

4

我想创建一个包含我编写的一些函数的软件包。现在我的问题是,我无法在dplyr中使用管道运算符%>%。我使用roxygen2创建了这个软件包。

如果没有%>%,则dplyr命令可以正常工作。

代码内部:

#'
#' @import dplyr readr mailR writexl
#' @importFrom dplyr %>%
#' @name %>%
#' 
#' @export
#'

I wrote:

DESCRIPTION

LazyData: true
RoxygenNote: 6.0.1
Imports: dplyr 

roxygen2 生成:

NAMESPACE

...
importFrom(dplyr,"%>%")
...

1
%>% 是来自 magrittr 包,如果我没记错的话。另请参见 https://dev59.com/RV4c5IYBdhLWcg3wapzz - Roman Luštrik
2个回答

6
通常您会从magrittr导入管道运算符。
您可以将一个类似以下的文件添加到您的包的 R 目录中:
#' Pipe
#'
#' Put description here
#'
#' @importFrom magrittr %>%
#' @name %>%
#' @rdname pipe
#' @export
#' @param lhs,rhs specify what lhs and rhs are
#' @examples
#' # some examples if you want to highlight the usage in the package
NULL

此外,您需要在软件包的描述文件中导入magrittr。

2
@clemens提出的解决方案非常灵活,它允许您编写自己导入命令的文档。如果您不想编写自己的文档,而是希望您的文档自动链接到 magrittr 包中的文档,请在您的包的R目录中的文件中使用以下代码来导入管道:
#' @importFrom magrittr %>%
#' @export
magrittr::`%>%`

如果您已安装dplyr软件包,则可以在R控制台中输入以下内容来查看导入文件的默认文档示例:
?dplyr::`%>%`

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接