【发布时间】:2017-07-07 04:35:52
【问题描述】:
我正在开发一个 R 包,我的包函数之一是 generate_report(),它使用模板 Rmd 文件和函数参数生成带有 rmarkdown 的 html 报告:
#' generate report based on templete file
#' @import rmarkdown
#' @export
generate_report <- function(x, y){
rmarkdown::render('templete.Rmd', envir = list(x = x, y = y))
}
这里是inst/templete.Rmd文件:(编译包时会移动到包的顶层文件夹:
---
title: "templete"
output: html_document
---
## Head 1
```{r}
print(x)
```
```{r}
print(y)
```
我的问题是,当包是devtools::install()ed时,函数generate_report()找不到文件templete.Rmd,如何让函数以正确的方式找到这个templete.Rmd文件?
【问题讨论】:
-
您应该使用
system.file()来获取包中文件的路径(否则 R 默认使用当前工作目录)。见:r-pkgs.had.co.nz/inst.html
标签: r r-markdown r-package