将开发中的包中的函数包含到同一包的函数的示例中

问题描述 投票:0回答:1

开发 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'

是否可以依赖示例中的其他包函数来实现另一个函数?我觉得它应该以某种方式起作用,但无法遵循正确的方法......

r r-package
1个回答
0
投票

帮助页面上的示例应允许用户复制/粘贴代码并成功运行以演示包的正确使用(或在调用

example(modify_data)
时运行)。这意味着示例中使用的所有函数都需要从您正在创建的包中导出。看来您正在使用 roxygen,因此您可以将要使用的函数标记为导出

@export
testdata <- function(...) {
  ...
}

尽管从包中导出一个名为

testdata
的函数可能没有意义,如果它实际上不是 API 的一部分。您可以在包中包含示例数据集或在示例本身中定义数据,就像在
?lm
帮助页面中所做的那样。

© www.soinside.com 2019 - 2024. All rights reserved.