我正在升级到ggtern以处理ggplot 2.0.X,我需要导入网格包,但是,ggplot2现在是导出arrow和unit函数,它会在我的包加载时生成警告:
Warning messages:
1: replacing previous import by ‘grid::arrow’ when loading ‘ggtern’
2: replacing previous import by ‘grid::unit’ when loading ‘ggtern’
Run Code Online (Sandbox Code Playgroud)
除了几个函数之外,是否可以导入库,即以下效果可能在roxygen中有用:
#' @importAllExcept grid arrow unit
Run Code Online (Sandbox Code Playgroud)
哪个应该具有与以下相同的效果,(减去导入arrow和unit):
#' @import grid
Run Code Online (Sandbox Code Playgroud)
有什么建议?
目前我最好的想法是
all <- getNamespaceExports("grid")
paste("@importFrom grid", paste(all[!(all %in% c("arrow", "unit"))], collapse = " "))
#[1] "@importFrom grid grid.edit pop.viewport ...
Run Code Online (Sandbox Code Playgroud)
这显然不是一个好的解决方案,但与导出不同,您不能使用正则表达式进行导入,即没有importPatternFrom.