wake-up-neo.net

Entfernen Sie Hashes in R-Ausgabe von R Markdown und Knitr

Ich verwende RStudio, um meine R-Markdown-Dateien zu schreiben. Wie kann ich die Hashes (##) in der endgültigen HTML-Ausgabedatei entfernen, die vor der Codeausgabe angezeigt werden?

Als Beispiel:

---
output: html_document
---

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

 enter image description here

42
mchangun

Sie können in Ihren Chunk-Optionen etwas enthalten

comment=NA # to remove all hashes

oder

comment='%' # to use a different character

Weitere Hilfe zu knitr finden Sie hier: http://yihui.name/knitr/options

Wenn Sie wie beschrieben R Markdown verwenden, könnte Ihr Chunk folgendermaßen aussehen:

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

Wenn Sie dies global ändern möchten, können Sie einen Block in Ihr Dokument aufnehmen:

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

Nur HTML

Wenn Ihre Ausgabe nur HTML ist, können Sie das PRE- oder CODE-HTML-Tag gut nutzen.

Beispiel

```{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>')
```

HTML-Ergebnis:

     Welch Two Sample t-Test

daten: mtcars $ mpg und mtcars $ wt t = 15,633, df = 32,633, p-Wert <0,00000000000000022 Alternativhypothese: Der wahre Unterschied in den Mitteln ist nicht gleich 0 95-prozentiges Konfidenzintervall: 14.67644 19.07031 Beispielschätzungen: Mittelwert von x Mittelwert von y 20.09062 3.21725 </ pre>

Nur PDF

Wenn es sich bei Ihrer Ausgabe um PDF handelt, benötigen Sie möglicherweise eine Ersetzungsfunktion. Hier was ich benutze:

```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)
  }
```

Beispiel

Der Code muss auch etwas anders sein:

```{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))
```

PDF Ergebnis

 PDF result

PDF und HTML

Wenn Sie die Seitenarbeit in beiden Fällen PDF und HTML wirklich benötigen, sollte tidyPrint im letzten Schritt etwas anders aussehen.

```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"))
  }
```

Ergebnis

Das Ergebnis PDF ist das gleiche und das HTML-Ergebnis liegt nahe am vorherigen, jedoch mit einem zusätzlichen Rand.

 HTML Result in the mixed version

Es ist nicht perfekt, aber vielleicht gut genug.

0
Thiago Mata