85

在我的 R Markdown 文档中,有时我只想生成一个报告而不显示实际代码(特别是当我将它发送给我的老板时)。如何隐藏 R 代码并仅显示图形和结果?

例如:

---
output: html_document
---

```{r fig.width=16, fig.height=6}
plot(cars)
```

这显示了命令和情节。如何从我的 HTML 报告中删除命令?

4

4 回答 4

81

当然,只要做

```{r someVar, echo=FALSE}
someVariable
```

显示一些(先前计算的)变量someVariable。或运行打印等 pp 的代码。

所以对于绘图,我有例如

### Impact of choice of ....
```{r somePlot, echo=FALSE}
plotResults(Res, Grid, "some text", "some more text")
```

其中绘图功能plotResults来自本地包。

于 2012-10-26T16:54:05.077 回答
54

知道您可以使用以下内容可能也很有趣:

{r echo=FALSE, results='hide',message=FALSE}
a<-as.numeric(rnorm(100))
hist(a, breaks=24)

排除您给出的所有命令、它吐出的所有结果以及 R 吐出的所有消息信息(例如,在 library(ggplot) 或其他东西之后)

于 2012-12-14T23:27:45.530 回答
43

只是汇总答案并扩展基础知识。这里有三个选项:

1)隐藏代码(单个块)

我们可以echo=FALSE在块头中包含:

```{r echo=FALSE}
plot(cars)
```

2)隐藏块(全局)。

我们可以使用该函数更改knitr的默认行为。knitr::opts_chunk$set我们在文档的开头调用它并包含include=FALSE在块头中以抑制任何输出:

---
output: html_document
---

```{r include = FALSE}
knitr::opts_chunk$set(echo=FALSE)
```

```{r}
plot(cars)
```

3) 折叠的代码块

对于 HTML 输出,我们可以使用代码折叠来隐藏输出文件中的代码。它仍将包含代码,但只有在用户单击此代码后才能看到。您可以在此处进一步了解这一点。

---
output:
  html_document:
    code_folding: "hide"
---


```{r}
plot(cars)
```

在此处输入图像描述

于 2018-10-01T10:25:43.837 回答
1

或者,您还可以通过markdownreports 包动态解析标准的降价文档(本身没有代码块) 。

于 2017-09-14T12:42:32.440 回答