【问题标题】:Alternatives to placing package in "Depends" section将包放在“取决于”部分的替代方法
【发布时间】:2016-04-29 16:19:09
【问题描述】:

我正在编写一个小包,它使用 ggplot2 构建一些自定义类型的图形。自然地,我的源文件中会充斥着 ggplot2 函数。我对包开发有点陌生,我的理解是在包源中使用:: 来消除命名空间的歧义通常会更好。但是,将ggplot2:: 放在所有内容的前面似乎是让我的代码变得混乱的好方法——我想让它尽可能可读和清晰,以便我的同事也能更轻松地处理我的代码。

有没有办法让我的源文件访问 ggplot2 命名空间?在包中使用library 似乎是一个很大的禁忌。将ggplot2 放在包说明中的“依赖”下 几乎 会这样做,但仅在我附加我的包时附加 ggplot2(如果我的包已加载但未附加,则会导致问题)。找到一种在我的包加载时自动附加ggplot2的方法可以解决这些问题,尽管直觉告诉我这可能是一种不好的做法。

【问题讨论】:

标签: r package package-development


【解决方案1】:

here 所述,您可以在roxygen cmets 中执行此操作:

如果您正在使用另一个包中的许多功能,请使用 @import 包将它们全部导入并在不使用 :: 的情况下使其可用。

最好将它放在R/packagename-package.R 文件中,该文件具有其他标准 roxygen 标签,如下所示:

#' @docType package
#' @name packagename
#' @import ggplot2
NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 2012-11-08
    • 2011-03-15
    • 2020-06-17
    相关资源
    最近更新 更多