Ocultar el código R en Rmarkdown / knit y solo mostrar los resultados


En mis documentos R Markdown, a veces solo quiero generar un informe sin mostrar el código real (especialmente cuando se lo envío a mi jefe). ¿Cómo puedo ocultar el código R y simplemente mostrar el gráfico y los resultados?

Por ejemplo:

---
output: html_document
---

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

Esto muestra tanto los comandos como el gráfico. ¿Cómo puedo eliminar los comandos de mi informe HTML?

Author: Michael Harper, 2012-10-26

4 answers

Claro, solo hazlo

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

Para mostrar alguna variable (previamente calculada) someVariable. O ejecutar código que imprime etc pp.

Así que para trazar, tengo eg

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

Donde la función de trazado plotResults es de un paquete local.

 50
Author: Dirk Eddelbuettel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-26 16:54:05

También puede ser interesante para que sepas que puedes usar:

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

Para excluir todos los comandos que das, todos los resultados que escupe y toda la información del mensaje que se escupió por R (eg. después de la biblioteca (ggplot) o algo así)

 41
Author: Geoffrey Stoel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-27 19:33:12

Alternativamente, también puede analizar un documento de markdown estándar (sin bloques de código per se ) sobre la marcha por el paquete de markdownreports.

 1
Author: bud.dugong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-14 12:42:32

Simplemente agregando las respuestas y expandiendo lo básico. Aquí hay tres opciones:

1) Ocultar código (fragmento individual)

Podemos incluir echo=FALSE en el encabezado chunk:

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

2) Ocultar trozos (globalmente).

Podemos cambiar el comportamiento predeterminado de knitr usando la función knitr::opts_chunk$set. Llamamos a esto al inicio del documento e incluimos include=FALSE en el encabezado del fragmento para suprimir cualquier salida:

---
output: html_document
---

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

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

3) Fragmentos de código colapsados

Para HTML salidas, podemos usar plegado de código para ocultar el código en el archivo de salida. Todavía incluirá el código, pero solo se puede ver una vez que un usuario haga clic en esto. Puedes leer más sobre esto aquí.

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


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

introduzca la descripción de la imagen aquí

 0
Author: Michael Harper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-01 10:25:43