我正在使用Rmarkdown制作电子实验室笔记本模板。我将日期条目用作实验日期,并且我希望使用相同的日期信息在R块中生成文件名,而不必不断重新输入日期。有没有可以从YAML标头中提取此信息的命令?
答案 0 :(得分:0)
在rmarkdown文档的外部中,rmarkdown::yaml_front_matter()
应该很适合您。
但是,如果您在谈论 inside (本身是一个小块),那么我认为您应该研究Parameterized RMarkdown documents;具体来说,请添加params:\n date: !r Sys.date()
,在文档的其他位置使用R中的params$date
。
例如:
---
title: My Document
output: html_document
params:
date: !r Sys.Date()
---
## Header
Inline, today's date is `r params$date`.
```{r}
cat("In a code chunk, today's date is ", format(params$date, format = "%b %d, %Y"), "\n")
```
如果您需要指定“今天”以外的特定日期,则可以在呈现时更改值,
rmarkdown::render('foo.Rmd', params=list(date="2020-01-01"))
(尽管在此示例中,"2020-01-01"
在我的示例中将无法正确地重新格式化,因为format
不会获得实际的Date
类对象。不同日期的主题:-)