Я использую RStudio для записи файлов R Markdown. Как я могу удалить хэши (##
) в конечном выходном файле HTML, которые отображаются перед выводом кода?
В качестве примера:
---
output: html_document
---
'''{r}
head(cars)
'''
Я использую RStudio для записи файлов R Markdown. Как я могу удалить хэши (##
) в конечном выходном файле HTML, которые отображаются перед выводом кода?
В качестве примера:
---
output: html_document
---
'''{r}
head(cars)
'''
Вы можете включить в свои параметры чанка что-то вроде
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)
'''
Если вы выводите только HTML, вы можете использовать HTML-тег PRE или CODE.
'''{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-test
данные: mtcars $ mpg и mtcars $ wt t = 15,633, df = 32,633, значение p <0,00000000000000022 альтернативная гипотеза: истинная разница в средних не равна 0 95-процентный доверительный интервал: 14,67644 19,07031 выборочные оценки: среднее x среднего значения 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 близок к предыдущему, но с некоторой дополнительной границей.
Это не идеально, но, возможно, достаточно хорошо.