如何在块内生成rmarkdown块

时间:2018-10-16 19:00:42

标签: r r-markdown knitr bookdown

我正在尝试使用代码生成rmarkdown块。我已经阅读了类似的问题及其解决方案,例如使用pander或使用cat。我只是似乎无法生成它。我也尝试手动编织输出。这是一个Rmd文件的示例:

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


## R Markdown

```{r, results='asis',echo=FALSE}
txt <- paste("```{r}",
      "2+2",
      "```")
pander::pander(txt)
```

当我knit这样做时,我得到了{r} 2+2的逐字记录。我想看看第四。在我的真实示例中,我使用bookdown并尝试生成block2块。

有什么想法如何生成被评估为R代码的代码块吗?

1 个答案:

答案 0 :(得分:1)

这是您想要的吗?

## R Markdown
```{r, results='asis',echo=FALSE}
txt <- paste("```{r}",
      2+2,
      "```")
pander::pander(txt)
```

这对

```{r} 4 ```
降价文件中的

。 您使用的是字符串文字"2+2",而不是表达式2+2。我想这是第一个问题。

如果要正确解析它,则需要在sep = "\n"中添加paste参数,或者手动添加换行符。 即

## R Markdown
```{r, results='asis',echo=FALSE}
txt <- paste("```{r}\n",
      2+2,
      "\n```", sep = "")
pander::pander(txt)
```

这对

```{r} 
4
```

在降价文档中被解释为R代码。