构建R包

时间:2012-09-27 22:11:26

标签: r packages

我目前正在构建一个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检查过程无法找到并读取我的文件。有没有办法可以构造我的包,以便函数的参数是文件而不是数据结构,如果是这样,我如何在文档的示例代码中将这些文件作为参数传递。

2 个答案:

答案 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
 }
}

这应该允许您通过检查(至少解决此问题)并使您的包可以安装。