我正在使用knitr的spin()函数将R脚本呈现为HTML(使用RStudio的“编译笔记本”命令)。
虽然在纯文本中包含动态R表达式很容易,但这显然不适用于标题。
例如,第一个示例正确地将内联表达式嵌入到纯文本中:
library(knitr)
#' You can use the special syntax {{code}} to embed inline expressions, e.g.
{{mean(x) + 2}}
#' is the mean of x plus 2.
但是第二个例子,在渲染HTML时,只将标题样式应用于第一行(“Crosstabulation of”),然后包装该行并恢复为纯文本:
library(knitr)
var0 <- "Sex"
var1 <- "Education"
#' # Crosstabulation of
{{var0}}
#' # by
{{var1}}
#' # .
如何将标题样式应用于块的所有行?有什么替代语法我必须使用?我错过了什么?
答案 0 :(得分:1)
我认为这是spin()
的限制。您可以使用brew
预处理文件,或者使用R来输出标记中的标题
`%#%` <- function(tpl, vals) if(interactive()) vals else do.call(sprintf, c(fmt=tpl, vals))
var0 <- "Sex"
var1 <- "Education"
{{"# Crosstabulation of %s by %s " %#% list(var0, var1)}}