【问题标题】:r package development imports not loadedr包开发导入未加载
【发布时间】:2015-08-23 12:22:27
【问题描述】:

您好,我是编写 R 包的新手。

我尝试通过以下方式导入依赖项:

Imports: forecast, ggplot2, dplyr

当我在 Rstudio 中单击 Build & Reload 时,我的库已成功构建。但是,当检查是否为真正的 Rstudio 加载了依赖项时,告诉我它们不是。 在我的命名空间文件中,我只有

exportPattern("^[[:alpha:]]+")

没有像https://github.com/robjhyndman/forecast/blob/master/NAMESPACE这样的命名空间的特定导入是否有问题

怎么了?

【问题讨论】:

    标签: r dependencies packages


    【解决方案1】:

    您需要将导入添加到NAMESPACEDESCRIPTION 中的 Imports 标记仅列出了 NAMESPACE 引用的未在 Depends 标记中列出的导入的包。

    要导入从您列出的三个包中导出的所有内容,请将以下内容添加到您的 NAMESPACE

    import(forecast, ggplot2, dplyr)
    

    通常不建议只从包中一揽子导入。您应该有选择性并只导入您的包需要的那些功能。您可以通过importFrom() 进行操作。

    更多详情请见Section 1.5.1 in Writing R Extensions

    可能值得使用 roxygen2 来为您管理,您可以通过 @import 标记(在 #' roxygen cmets 中的 R 代码中,而不是在 DESCRIPTION 中)。请参阅该软件包的文档和Hadley Wickham's R Packages book (online version)

    【讨论】:

    • 所以如果我正确理解了 roxygen2 文档,我需要在函数声明之前加上 #' @import predict 才能导入整个包?
    • 可以,但不要全部导入。以后你会感谢我的。
    • ...#' @importFrom 你在函数中实际使用的东西也是如此。
    • @joran 说了什么(我不想把它变成对 roxygen 文档或 Hadley 的书的重述,因为我不清楚你的问题甚至是关于 roxygen)
    • 非常感谢您的帮助。也许你也可以在这里帮助我stackoverflow.com/questions/30720340/… --> 我的简单函数是通过 roxygen2 导出的,但是 opencpu 无法识别该函数
    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2015-09-08
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多