首页 > 解决方案 > 编写 R 包时如何导入“%>%”?

问题描述

加载我正在编写的 R 包时遇到以下错误。

Error in nations %>% rvest::html_nodes(".x") %>% rvest::html_nodes(".y") %>%  : 
  could not find function "%>%"

我不确定如何在我的 R 包中导入它。这就是我的功能设置方式

 nations_url_odd<-nations %>%
    rvest::html_nodes('.x') %>%
    rvest::html_nodes('.y') %>%
    rvest::html_nodes('a')

标签: rpiper-packagemagrittr

解决方案


reexports.R使用以下行在您的包中创建一个文件:

#' @importFrom magrittr %>%
#' @export
magrittr::`%>%`

这将使管道可用于您的包,并将其重新导出给包的用户,因此当他们加载或附加您的包时,管道将对他们可用(他们不必同时加载 magrittr)。这可以通过usethis::use_pipe()(参见https://usethis.r-lib.org/reference/use_pipe.html)自动化。正如@user2554330 下面提到的,这个解决方案取决于roxygen2的使用。


推荐阅读