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)
```
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)
```
Wenn Ihre Ausgabe nur HTML ist, können Sie das PRE- oder CODE-HTML-Tag gut nutzen.
```{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>')
```
Welch Two Sample t-Testdaten: 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 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.
Es ist nicht perfekt, aber vielleicht gut genug.