我目前正在构建一个R包。
我希望提供示例数据。我知道package.skeleton()创建的数据目录以及如何加载数据集等。
问题是,我设计了将文件作为输入读取的函数 - 原因是那些使用我的包的人通常会加载大型数据集。因此,我的函数逐行读取文件。
我遇到问题让我的软件包通过检查阶段,因为我不清楚如何让我的函数读取示例数据文件,而不是先加载它们然后将生成的表/数据框作为参数传递。
我希望这很清楚。
提前致谢!
我的函数将文件作为参数,即
example <- function(test_file){
test <- readLines(testFile)
....Do something to each line ...
}
我不清楚如何使用我的R文档代码将文件而不是数据框传递给我的函数。
文档中的测试代码如下所示
\examples{
library(new_package)
tester <- test(testfile=somefile)
}
这无法执行,因为看起来R期望数据结构如:
data(somedataset)
testet <- example(somedataset)
错误是由于R CMD检查过程无法找到并读取我的文件。有没有办法可以构造我的包,以便函数的参数是文件而不是数据结构,如果是这样,我如何在文档的示例代码中将这些文件作为参数传递。
答案 0 :(得分:1)
这个示例函数怎么样:
#' Example function
#' @param test_file file path
#' @examples \dontrun{
#' example(system.file('example_data.txt', package='package_name'))
#' }
example <- function(test_file) {
test <- readLines(testFile)
# whatever you wish to do
}
详细信息:
data
dir移动示例数据集(如果我是正确的话,将数据集保存为无需自定义函数)到例如inst
目录,最终将您的示例文件放在已安装软件包的目录中,system.file
引用演示文件\dontrun
指定示例以消除因自动运行但仍显示在文档中而导致的任何警告(尽管如果上述情况正常,则不需要后者恕我直言)。答案 1 :(得分:0)
我理解大数据的困境(我是处理相同问题的生物学家)所以我建议不要运行这个例子。这将允许您通过检查,但您还应该添加一个小注释(作为注释或在函数文档中的其他地方),指出为什么这些不是简单的运行示例。
\examples{
\dontrun{
# Throw in your examples here
}
}
这应该允许您通过检查(至少解决此问题)并使您的包可以安装。