r - Rmarkdown:参数众多,简化声明
问题描述
我正在使用闪亮将大量参数传递给 rmarkdown 文档。这是成功的,但是随着更多参数的添加,我的参数声明部分变得越来越长。
有没有办法简化参数的声明?
例如,我将参数 AZ 传递给 rmarkdown 文档,现在我将在 rmarkdown 中编写参数为:
---
title: "TEST"
params:
A: NA
B: NA
C: NA
And so on until Z
output: word_document
---
这适用于少量参数,但我将传递 400 个参数,并且感觉应该有一种更简单的方法来处理大量参数,而无需逐行编写。
所需的输出,例如:
---
title: "TEST"
params:
lapply(LETTERS[1:26], function(x){paste(x,": NA")})
output: word_document
---
当我在堆栈上搜索或只是一般的网络搜索时,所有参数示例似乎都是一一完成的:https ://rmarkdown.rstudio.com/lesson-6.html
谢谢!
解决方案
您可以通过命名列表或向量传递它们,而不是将单个参数传递给 Rmd。尝试这个:
示例 Rmd
---
title: "test"
output: html_document
params:
params_list: !r NULL
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
```{r}
print(params$params_list)
```
```{r}
print(params$params_list$A)
```
使成为
rmarkdown::render("test.Rmd", params = list(params_list = setNames(lapply(LETTERS[1:4], function(x){paste(x,": NA")}), LETTERS[1:4])))
推荐阅读
- paytm - Paytm 交易响应返回 null Bundle (android)
- llvm - 如何仅使用一个 arg 调用 LLVM IR arg?
- regex - 正则表达式负前瞻忽略代码部分
- java - 如何通过 Redisson 客户端通过 RMap 检查该值是否已存在于 Redis 中?
- javascript - 多分页?
- netcdf - 有没有一种方便的方法可以用 ncap2 转换多种数据类型?
- python - 如何为存储在烧瓶服务器中的文件生成下载链接而不是直接下载文件?
- c# - 如何使用 DiscUtils.NTFS 打开和读取文件?
- javascript - 如何在 Vue 中访问 Highcharts 股票工具提示数据?
- javascript - 使用 javascript 和 CSS 变量的 localStorage 制作切换主题按钮,但面临许多问题