【问题标题】:Troublesome package creating麻烦的包创建
【发布时间】:2020-08-12 14:59:27
【问题描述】:

我在创建包时遇到了一些问题,你能找出我的错误吗?

我按照以下说明进行操作:

1.在我的包中创建我想要的功能

2.打开新项目-> R包

3.创建与我实现的功能一样多的R文档,然后将它们放入man文件夹

4.按 Ctr+Shift+B 安装包。

我面临的警告是

警告:C:/Program Files/R/R-3.6.3/library/mypackage/man/myfun2.Rd:62:所有文本都必须在一个部分中

我在互联网上搜索有关该问题的解决方案,但我发现只涉及包含其他方法的说明。有没有可能如何解决这个问题?或使用其他软件包的其他方法至关重要(如 roxygen)。

提前致谢

【问题讨论】:

  • 您使用的是什么 IDE?瑞贵?工作室?您是否正在使用创建包的 package ?编写手册页并不难,例如skeleton 很好地设置了模板
  • 我认为这是因为设置的文档模板文件包含字段之外的文本。大多数情况下,有 cmets 可以帮助您。您可以在man/ 根级目录中找到这些文件。您可以使用来自cran.r-project.org/doc/manuals/R-exts.html 的指导手动编辑它们,或者使用像 roxygen 这样的 R 包。这两种方法都没有对错。这完全取决于个人喜好。您将找到更多关于 roxygen 方式的在线指南。

标签: r


【解决方案1】:

您不应该自己编写手册页。您应该使用 roxygen 代码在函数 R 文件中编写手册元素,然后使用 devtools::document() 生成手册页。有关示例,请参见此处:https://keithmcnulty.github.io/r_package_training/index.html#1

【讨论】:

  • roxygen 是一个很好的工具,但是使用各种 R 包创建的模板不仅可以简化 man 的构建,还可以简化 NAMESPACE、DESCRIP 等文件的构建。
  • 我同意卡尔的观点。 package.skeleton() + R 扩展指南是开始学习的好地方。
  • 你能解释一下我为什么不应该吗?我的意思是这种方法到底有什么缺点?
  • 我不会给出我的意见,而是引用 Hadley Wickham 关于 R 包的书,我强烈推荐:r-pkgs.had.co.nz/man.html [roxygen2] 比手动编写 .Rd 文件有很多优势:代码和文档是混合在一起的,因此当您修改代码时,会提醒您也更新您的文档。 Roxygen2 动态检查它记录的对象,因此您可以跳过一些您需要手动编写的样板文件。它抽象了记录不同类型对象的差异,因此您需要了解的细节更少。
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 2015-05-10
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多