R内联降价

R inline markdown

我在 RStudio 中使用 R Markdown 创建混合了 Markdown 和 R 输出的报告。我知道如何在 Markdown 中使用内联 R 表达式,但我想知道如何进行相反的操作,即在 R 代码中使用 Markdown。我想遍历一系列计算并为每个计算获取 Markdown 标题。我想要用于格式化目的的标题(例如,粗体标题等),并且还能够在生成的 PDF 中指定(子)部分(这是 RMarkdown 处理 # 和 ## 等方式的一个很好的特性)。

我知道我可以做到以下几点:

---
title: "test"
output: pdf_document
---

#Section 1

```{r, echo=FALSE}
print(1+1)
```

#Section 2

```{r, echo=FALSE}
print(2+2)
```

#Section 3

```{r, echo=FALSE}
print(3+3)
```

它给出了(大致)像这样的东西:

第 1 部分

## [1] 2

第 2 部分

## [1] 4

第 3 部分

## [1] 6

是否可以使用类似以下内容的方式实现相同的输出:

---
title: "test2"
output: pdf_document
---

```{r, echo=FALSE}
for (i in 1:3)
{
  print(paste("#Section",i))
  print(i+i)
}
```

正如@scoa 所指出的,您必须设置块选项results='asis'。您还应该在 header.

之前和之后放置两个 \n
---
title: "test"
output: pdf_document
---

```{r, echo=FALSE, results='asis'}
for (i in 1:3) {
  cat(paste0("\n\n# Section", i, "\n\n"))
  print(i+i)
  cat("\n\n\newpage")
}
```

作为更一般的答案,查看 markdownreports 包可能会很有用,该包从您的 R 变量中解析降价代码(和输出)。