我正在尝试在R Studio中为knitr::spin
文档创建一些代码段模板,我需要它们包含文字反引号,以便生成的文档包含R片段:
所需输出的示例:
#' ---
#' author: 'ENTER'
#' title: 'ENTER'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
但是,我无法弄清楚如何输出反引号。这样:
`r paste("#' date: '`Sys.time()`')`
当从R Studio片段渲染到R代码时,将无效,因为刻度线会中断粘贴命令。我一直在试图勾选刻度线,添加前进和后退斜线等,但还没有找到一个能够正确渲染此行的解决方案:
#' date: '`r Sys.time()`'
Windows 7企业版,64位操作系统
R版本:3.2.5
R Studio版本:0.99.903
knitr版本:1.14
示例:我试过这个,但它仍然翻译R代码而不是只打印文本:
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#' date: '<code>``` `r Sys.time()` ```</code>'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`
答案 0 :(得分:1)
rawr
在评论中发布了正确答案(他只错过了r和刻度线):
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#\' date: '\x60r Sys.time()\x60'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`
答案 1 :(得分:0)
一种选择是打破内联R的片段处理期间使用的令牌。
snippet sh
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`${3:}r Sys.time()`'
#' output:
#' html_document
#' ---
${0}
另一种选择是完全避免内联R解析。
snippet sh
`r paste0(readLines("~/.R/snippets/spinheader.txt"),collapse = '\n')`
spinheader.txt
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
${0}