访问.rmd文件的名称并在R中使用

use*_*503 5 markdown r knitr

我正在编织一个名为markdown的文件MyFile.rmd.如何MyFile在编织过程中访问字符串并将其用于:

  • 在YAML标题的标题部分使用?
  • 在后续的R chunk中使用?

    ---
    title: "`r rmarkdown::metadata$title`"
    author: "My Name"
    date: "10. Mai 2015"
    output: beamer_presentation
    ---
    
    ## Slide 1
    
    ```{r}
    
    rmarkdown::metadata$title
    
    ```
    
    Run Code Online (Sandbox Code Playgroud)

导致...

在此输入图像描述

...这是不正确的,因为我编织的文件名称不同.

> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)

locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] digest_0.6.8    htmltools_0.2.6 rmarkdown_0.5.1 tools_3.1.2     yaml_2.1.13
Run Code Online (Sandbox Code Playgroud)

Yih*_*Xie 7

rmarkdown::metadata为您提供R Markdown的元数据列表,例如,rmarkdown::metadata$title将是您文档的标题.一个例子:

---
title: "Beamer Presentation Title"
author: "My Name"
date: "10\. Mai 2015"
output: beamer_presentation
---

## Slide 1

Print the title in a code chunk.

```{r}
rmarkdown::metadata$title
```

## Slide 2

The title of the document is `r rmarkdown::metadata$title`.
Run Code Online (Sandbox Code Playgroud)

要获取输入文档的文件名,请使用knitr::current_input().


use*_*503 1

简单总结一下一辉的回答:

    ---
    title: "`r knitr::current_input()`"
    author: "My Name"
    date: "10. Mai 2015"
    output: beamer_presentation
    ---

    ## Slide 1

    ```{r}

    knitr::current_input()

    ```
Run Code Online (Sandbox Code Playgroud)

哪种针织可以完成这项工作。

在此输入图像描述