'%>%' 没有可见的全局函数定义

2024-05-07

我正在尝试构建一个 devtools 包,并且我需要在我的代码中使用此循环:

for (i in 1:length(idk)){
  tritemp=intetemp[intetemp$path %in% idk[i],]
  tritemp=tritemp %>%
    group_by(grp = paste(pmax(from, to), pmin(from, to), sep = "_")) %>%
    slice(1) %>%
    ungroup() %>%
    select(-grp)
  interac=rbind(interac,tritemp)
}

不幸的是,当我运行 devtools 检查时,出现以下错误:

interactions: no visible global function definition for '%>%'
  interactions: no visible binding for global variable 'from'
  interactions: no visible binding for global variable 'to'
  interactions: no visible global function definition for 'slice'
  interactions: no visible global function definition for 'ungroup'
  interactions: no visible global function definition for 'select'
  interactions: no visible binding for global variable 'grp'
  Undefined global functions or variables:
    %>% from grp select slice to ungroup

我真的不知道该怎么办,有人可以帮助我吗?


这些都是来自不同包的函数。您需要指定这些函数来自哪里。特别是对于管道函数,您需要将 magrittr 放在您的导入部分下DESCRIPTION文件。然后在使用管道的脚本中您可以放置

#' @importFrom magrittr %>%
NULL

如果您使用 roxygen2 自动让它将该功能添加到您的NAMESPACE您必须对从另一个包使用的每个函数执行此操作。

替代使用@importFrom ...在顶部,您可以浏览脚本并指定您正在使用的函数来自哪个包。例如dplyr::select(yourvariables)

在这里用一个答案详细解释有点多,所以我建议阅读this https://r-pkgs.org/description.html以获得更好的理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'%>%' 没有可见的全局函数定义 的相关文章

随机推荐