将参数传递给 R Markdown

Passing Parameters to R Markdown

我正在尝试根据以下教程在 R Markdown 中创建参数化报告:http://rmarkdown.rstudio.com/developer_parameterized_reports.html#passing-parameters

我正在尝试使用 render 从 r 控制台将文件路径作为参数传递。 像这样:

render('rmarkdownfile.rmd',params= list( client= "clientdata.csv"))

我的降价文件如下所示:

title: "Liquidity Report"
output: pdf_document
params: client:"clientdata.csv"
---
```{r plot, echo=FALSE, warning=FALSE}
cftest <- read.csv(params$client)

但我收到一条错误消息:

Eror in read.table(file=file, header=header, sep=sep, quote=quote, : 'file' must be a character string or connection Calls:

虽然我按照教程的步骤操作,但 Markdown 似乎无法识别参数。有没有人能够在 R Markdown 中成功使用参数?

此外,我正在按照教程的建议使用 R Studio 预览版以及最新版本的 r markdown 和 knitr。

感谢您的帮助!

拉斐尔

在我的例子中它起作用了,只需要更改 header 中的缩进和我的文件夹中可用的一些名称...

这是我的jnk.Rmd

---
title: "Liquidity Report"
output: pdf_document
params: 
  client: "NAMESPACE"
---
```{r plot, echo=FALSE, warning=FALSE}
cftest <- read.csv(params$client)
```

这就是我在控制台中调用的内容:render('jnk.Rmd',params= list( client= "NAMESPACE"))

我喜欢做的不仅仅是在我的参数化报告中指定一个文件名,还指定一个目录。

---
title: Liquidity Report
date: '`r strftime(Sys.time(), format = "%B %d, %Y")`'
output:
  pdf_document:
    number_sections: yes
    theme: cerulean
    toc: yes
    toc_depth: 2
params:
  directory:
    value: x
  file:
    value: x
---

```{r, include = FALSE}
knitr::opts_chunk$set(
      echo    = FALSE
    , warning = FALSE
    , message = FALSE
)

## Pull in the data
dataset <- read.csv(file.path(params$directory, params$file))
```

然后在你的渲染函数中你可以:

rmarkdown::render(
      input  = 'LiquidityReport.Rmd'
    , params = list(
          directory = '~/path/to/data'
        , file      = 'clientdata.csv'
        )
)

knitr 文档可以添加更多信息:> ?knitr::knit_params