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

R ';%没有可见的全局函数定义>;%';,r,devtools,R,Devtools,我正在尝试构建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()

我正在尝试构建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放在
说明
文件的imports部分下。然后在使用管道的脚本中,可以放置

#' @importFrom magrittr %>%
NULL
如果您正在使用roxygen2自动将其添加到
命名空间中
对于从另一个包中使用的每个函数,您都必须这样做

除了使用顶部的
@importFrom…
之外,您还可以查看脚本并指定您使用的函数来自哪个包。e、 g.
dplyr::选择(您的变量)


这在这里的单个答案中需要详细解释,因此我建议阅读以更好地理解。

您需要在名称空间中导入这些函数。与其手动执行,不如查看
roxygen2
包和
devtools::document
函数和。因此,我必须获取所有这些函数的代码源,并将它们放在命名空间中?不。请阅读我发送的参考资料。您可以在编写文档时导入它们。不幸的是,这会导致一个新错误
不需要命名空间依赖项:“magrittr”