【问题标题】:how to import with roxygen packages the pipe operator %>% from dplyr如何使用 roxygen 包从 dplyr 导入管道运算符 %>%
【发布时间】:2018-04-09 00:34:07
【问题描述】:

我想用我写的一些函数构建一个包。现在我的问题是,我不能将管道运算符 %>% 与 dplyr 一起使用。我用 roxygen2 创建了这个包。

如果我在没有 %>% 的情况下编写 dplyr 命令,一切正常。

代码内部:

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

我写道:

描述

LazyData: true
RoxygenNote: 6.0.1
Imports: dplyr 

roxygen2 生成:

命名空间

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

【问题讨论】:

标签: r dplyr package pipe roxygen2


【解决方案1】:

通常您会从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::`%>%`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-21
      • 2015-02-06
      • 2015-04-21
      • 2018-07-06
      • 1970-01-01
      • 2018-11-28
      • 2020-07-09
      • 2016-03-09
      相关资源
      最近更新 更多