开发 R 包时,如何在该包的其他函数的示例中依赖属于该包的函数?
假设我的包中有一个生成样本数据的函数,名为
testdata()
在另一个名为
modify_data()
的函数中,我想修改使用 testdata()
生成的示例数据
如何引用roxygen2骨架的
testdata()
中的函数@example
?
我尝试了以下方法:
#' @examples
#' sample_data <- testdata(some_parameters)
#' sample_data <- modify_data(sample_data)
或
#' @examples
#' sample_data <- mypackagename::testdata(some_parameters)
#' sample_data <- modify_data(sample_data)
但是当 R CMD 检查包内容时,我总是收到示例错误:
Error: could not find function "testdata"
或
Error: 'testdata' is not an exported object from 'namespace:mypackagename'
是否可以依赖示例中的其他包函数来实现另一个函数?我觉得它应该以某种方式起作用,但无法遵循正确的方法......
帮助页面上的示例应允许用户复制/粘贴代码并成功运行以演示包的正确使用(或在调用
example(modify_data)
时运行)。这意味着示例中使用的所有函数都需要从您正在创建的包中导出。看来您正在使用 roxygen,因此您可以将要使用的函数标记为导出
@export
testdata <- function(...) {
...
}
尽管从包中导出一个名为
testdata
的函数可能没有意义,如果它实际上不是 API 的一部分。您可以在包中包含示例数据集或在示例本身中定义数据,就像在?lm
帮助页面中所做的那样。