97 votes

Cacher le code R dans Rmarkdown/knit et ne montrer que les résultats

Dans mes documents R Markdown, je souhaite parfois générer un rapport sans montrer le code réel (surtout lorsque je l'envoie à mon patron). Comment puis-je cacher le code R et ne montrer que le graphique et les résultats ?

Par exemple :

---
output: html_document
---

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

Cela montre à la fois les commandes et le tracé. Comment puis-je supprimer les commandes de mon rapport HTML ?

86voto

Dirk Eddelbuettel Points 134700

Bien sûr, faites-le.

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

pour montrer une variable (précédemment calculée) someVariable . Ou exécuter un code qui imprime etc pp.

Donc pour le traçage, j'ai eg

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

où la fonction de traçage plotResults provient d'un paquet local.

57voto

Geoffrey Stoel Points 765

Il pourrait également être intéressant pour vous de savoir que vous pouvez utiliser :

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

pour exclure toutes les commandes que vous donnez, tous les résultats qu'il affiche et toutes les informations sur les messages affichés par R (par exemple, après library(ggplot) ou autre).

54voto

Michael Harper Points 4863

Je ne fais que rassembler les réponses et développer les bases. Voici trois options :

1) Cacher le code (morceau individuel)

Nous pouvons inclure echo=FALSE dans l'en-tête du morceau :

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

2) Masquer les morceaux (globalement).

Nous pouvons modifier le comportement par défaut de knitr en utilisant le knitr::opts_chunk$set fonction. Nous l'appelons au début du document et incluons include=FALSE dans l'en-tête du chunk pour supprimer toute sortie :

---
output: html_document
---

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

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

3) Morceaux de code effondrés

Pour les sorties HTML, nous pouvons utiliser le pliage de code pour cacher le code dans le fichier de sortie. Celui-ci comprendra toujours le code, mais il ne sera visible que lorsqu'un utilisateur cliquera dessus. Vous pouvez en savoir plus à ce sujet aquí .

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

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

enter image description here

1voto

bud.dugong Points 184

Alternativement, vous pouvez également analyser un document markdown standard (sans blocs de code en soi ) à la volée par le paquet markdownreports .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X