【发布时间】:2012-10-31 14:23:35
【问题描述】:
我是 roxygen 的新手,正在努力了解如何使用它来快速创建新/自定义包。
即我想知道最低要求是使用devtools、roxygen2/3 制作一个名为package1 的包,以便我可以运行命令
require(package1)
fun1(20)
fun2(20)
分别生成 2000 和 4000 个随机法线
让我们举个最简单的例子。
如果我有两个函数fun1 和fun2
fun1 <- function(x){
rnorm(100*x)
}
和
fun2 <- function(y){
rnorm(200*y)
}
参数是数字,返回值是数字。我很确定这不是 S3 方法,让我们称其为 fun1 和 fun2....我不太确定我还需要提供哪些其他信息。我可以将 fun1 和 fun2 放在单独的 .R 文件中,并添加 #' 的 abit 但我不确定是否包含所有与 roxygen 相关的要求,也不确定包含哪些相关要求以及如何使用它来创建 rd 文档以带一个包去。我认为命名空间只有名称 fun1 和 fun2?并且包装描述只是一些与我有关的通用信息......以及包装的功能?
我们很乐意收到任何分步指南。
编辑:以下是我开始的距离......
我可以做到以下几点来创建一个 pacakge...但是不能使用 roxygen 来制作文档...
package.skeleton(list = c("fun1","fun2"), name = "package1")
这是我不确定我是否错过了一堆步骤的地方......
roxygenise("package1")
所以在尝试安装时我收到以下错误消息
system("R CMD INSTALL package1")
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
* installing *source* package ‘package1’ ...
** R
** preparing package for lazy loading
** help
Warning: /path.to.package/package1/man/package1-package.Rd:32: All text must be in a section
*** installing help indices
Error in Rd_info(db[[i]]) :
missing/empty \title field in '/path.to.package/package1/man/fun1.Rd'
Rd files must have a non-empty \title.
See chapter 'Writing R documentation' in manual 'Writing R Extensions'.
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/package1’
【问题讨论】:
-
最简单的上手方式是
package.skeleton(),然后如果您需要文档,请稍后使用roxygen2。 -
查看包开发部分https://github.com/hadley/devtools/wiki。在this book也有章
-
我尝试过
package.skeleton()功能...但整个问题与docmuemtatio有关...我已调整问题以说明我的问题... -
Noooooooooo 不要使用
package.skeleton- 它添加了很多你只需要删除的废话。但我不确定你为什么要在这里使用 roxygen - 如果你只是制作一个本地包,你根本不需要文档。 -
这个想法是在基本文件结构和文档建立后将其推送到 github 存储库,然后其他人可以采取不同的部分并相应地进行修改
标签: r devtools roxygen roxygen2 rd