R ';%没有可见的全局函数定义>;%';
我正在尝试构建devtools包,我需要在代码中使用以下循环: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()
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”