我正在使用RStudio来编写我的R Markdown文件。如何删除代码输出前显示的最终HTML输出文件中的哈希值(##
)?
举个例子:
---
output: html_document
---
```{r}
head(cars)
```
答案 0 :(得分:77)
您可以在您的块选项中包含类似
的内容comment=NA # to remove all hashes
或
comment='%' # to use a different character
有关knitr的更多帮助,请点击此处:http://yihui.name/knitr/options
如果你正如你所提到的那样使用R Markdown,你的大块可能是这样的:
```{r comment=NA}
summary(cars)
```
如果要全局更改,可以在文档中包含一个块:
```{r include=FALSE}
knitr::opts_chunk$set(comment = NA)
```
答案 1 :(得分:0)
如果您的输出只是HTML,则可以充分利用PRE或CODE HTML标记。
```{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-testdata: mtcars$mpg and mtcars$wt t = 15.633, df = 32.633, p-value < 0.00000000000000022 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 14.67644 19.07031 sample estimates: mean of x mean of y 20.09062 3.21725
如果输出为PDF,则可能需要一些替换功能。这是我正在使用的:
```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)
}
```
代码也需要有所不同:
```{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和HTML网页的工作,在tidyPrint应该是最后一步稍有不同。
```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"))
}
```
PDF结果是相同的,而HTML结果与前一个结果很接近,但是带有一些额外的边框。
这是不完美的,但也许是不够好。