在 R 包中捆绑 .JAGS 模型文件

Bundle .JAGS model files within an R package

我正在编写一个使用 rjags 作为依赖项的 R 包。我导出的函数需要在内部调用 rjags::jags.model("myModel.JAGS")

我觉得我应该将 myModel.JAGS 文件捆绑在 exec 文件夹中,即使它不是 stricto-sensu "script" .我应该如何访问它?

我找到了

#'@export
myFunction <- function () {

  # ...

  path <- path.package('myPackage')
  file <- file.path(path, 'exec', 'myModel.JAGS')
  rjags::jags.model(file, ...)

  # ...

}

有点老套,是吗?

您应该使用 system.file 作为您的包名,并将文件放在 inst 文件夹中。

安装包时,inst 中的任何内容都会复制到包文件夹中,因此如果您有 mypackage/inst/jags/mymodel.jags,那么您可以执行 system.file("jags","mymodel.jags",package="mypackage") 来获取 jags 文件的路径.

请注意,如果您使用 devtools 并在开发模式下加载您的包而不是进行安装,那么 devtools 将为 system.file 加载一些包装器以在 [=18 中查找=] 所以任何使用它的东西都适用于通过 load_all.

加载的卸载包