gpt4 book ai didi

r - 未从自制包加载的功能

转载 作者:行者123 更新时间:2023-12-04 02:07:42 27 4
gpt4 key购买 nike

我正在学习使用 RStudio 构建我自己的包。当前.tar.gz对于包(名为 SteenSubsSpec )是 here .目前Build & Reload命令似乎成功构建和 Roxygen 化包。然而,尽管Build & Reload 函数似乎没有加载到内存中成功更新文档。我究竟做错了什么?
Build & Reload给出以下输出:

==> roxygenize('.', roclets=c('rd'))
  • 检查更改...完成

  • ==> R CMD 构建 SteenSubsSpec
    * checking for file ‘SteenSubsSpec/DESCRIPTION’ ... OK
    * preparing ‘SteenSubsSpec’:
    * checking DESCRIPTION meta-information ... OK
    * excluding invalid files
    Subdirectory 'R' contains invalid file names:
    ‘2013_08_30_report-concordance.tex’ ‘2013_08_30_report.Rnw’
    ‘2013_08_30_report.log’ ‘2013_08_30_report.pdf’
    ‘2013_08_30_report.synctex.gz’ ‘2013_08_30_report.tex’
    * checking for LF line-endings in source and make files
    * checking for empty or unneeded directories
    Removed empty directory ‘SteenSubsSpec/inst’
    * building ‘SteenSubsSpec_1.0.tar.gz’

    Source package written to ~/Dropbox/[my directory]

    这更新了文档: ?write_paper()按预期显示当前文档。然而
    require(SteenSubsSpec) 
    write_paper()

    Error: could not find function "write_paper"
    有些事情似乎是正确的:
  • 所有函数文件都在R目录,并具有与其定义相同的名称(例如 /R/write_paper.R 定义 write_paper() <- function {...
  • DESCRIPTION文件包含所有相关函数文件的名称:Collate: ... 'write_paper.R

  • 我该如何解决这个问题?

    最佳答案

    很可能,这些函数没有导出到 NAMESPACE 文件(您声明当前为空)。

    在 RStudio 中,在“项目选项”中的“构建工具”下,确保选中“使用 roxygen 生成文档”。然后,单击“配置”。确保还选中了“使用 roxygen 生成 NAMESPACE 文件”。

    在 R 函数文件中,添加 @export yourfunctionname在那里(或者,从技术上讲,是一个 #' @export yourfunctionname ),当您构建和重新加载时,您的 NAMESPACE 文件应该更新并且您的函数应该不再不可见。

    关于r - 未从自制包加载的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620697/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com