web-dev-qa-db-fra.com

Supprimer les hachages dans R Output de R Markdown et Knitr

J'utilise RStudio pour écrire mes fichiers R Markdown. Comment puis-je supprimer les hachages (##) du fichier de sortie HTML final affichés avant la sortie du code?

Par exemple:

---
output: html_document
---

```{r}
head(cars)
```

 enter image description here

42
mchangun

Vous pouvez inclure dans vos options de morceau quelque chose comme

comment=NA # to remove all hashes

ou

comment='%' # to use a different character

Plus d'aide sur knitr disponible à partir d'ici: http://yihui.name/knitr/options

Si vous utilisez R Markdown comme vous l'avez mentionné, votre bloc pourrait ressembler à ceci:

```{r comment=NA}
summary(cars)
```

Si vous voulez changer cela globalement, vous pouvez inclure un morceau dans votre document:

```{r include=FALSE}
knitr::opts_chunk$set(comment = NA)
```
75
Gary Weissman

Juste HTML

Si votre sortie est uniquement HTML, vous pouvez utiliser les balises HTML PRE ou CODE.

Exemple

```{r my_pre_example,echo=FALSE,include=TRUE,results='asis'}
knitr::opts_chunk$set(comment = NA)
cat('<pre>')
print(t.test(mtcars$mpg,mtcars$wt))
cat('</pre>')
```

Résultat HTML:

     Test t de Welch Two Sample

données: mtcars $ mpg et mtcars $ wt t = 15,633, df = 32,633, valeur p <0,00000000000000022 hypothèse alternative: la vraie différence de moyenne n'est pas égale à 0 Intervalle de confiance de 95%: 14.67644 19.07031 estimations de l'échantillon: moyenne de x moyenne de y 20,09062 3,21725 </ pre>

Juste PDF

Si votre sortie est au format PDF, vous aurez peut-être besoin d'une fonction de remplacement. Voici ce que j'utilise:

```r
tidyPrint <- function(data) {
    content <- paste0(data,collapse = "\n\n")
    content <- str_replace_all(content,"\\t","    ")
    content <- str_replace_all(content,"\\ ","\\\\ ")
    content <- str_replace_all(content,"\\$","\\\\$")
    content <- str_replace_all(content,"\\*","\\\\*")
    content <- str_replace_all(content,":",": ")
    return(content)
  }
```

Exemple

Le code doit également être un peu différent:

```{r my_pre_example,echo=FALSE,include=TRUE,results='asis'}
knitr::opts_chunk$set(comment = NA)
resultTTest <- capture.output(t.test(mtcars$mpg,mtcars$wt))
cat(tidyPrint(resultTTest))
```

Résultat PDF

 PDF result

PDF et HTML

Si vous avez vraiment besoin que la page fonctionne dans les deux cas PDF et HTML, tidyPrint devrait être légèrement différent dans la dernière étape.

```r
tidyPrint <- function(data) {
    content <- paste0(data,collapse = "\n\n")
    content <- str_replace_all(content,"\\t","    ")
    content <- str_replace_all(content,"\\ ","\\\\ ")
    content <- str_replace_all(content,"\\$","\\\\$")
    content <- str_replace_all(content,"\\*","\\\\*")
    content <- str_replace_all(content,":",": ")
    return(paste("<code>",content,"</code>\n"))
  }
```

Résultat

Le résultat PDF est identique et le résultat HTML est proche du précédent, mais avec une bordure supplémentaire.

 HTML Result in the mixed version

Ce n'est pas parfait mais c'est peut-être assez bon.

0
Thiago Mata