我想以Sweave的R模式编写图形标题,然后将其添加到列表中,然后在图形标题中使用它们,例如:
caption <- list()
myresult <- data.frame(name = c('fee', 'fi'), x = c(1,2))
caption[['fig1']] <- "$\text{\Sexpr{myresult$name[1]}}\Sexpr{myresult$x[1]$"
caption[['fig2']] <- "$\text{\Sexpr{myresult$name[2]}}\Sexpr{myresult$x[2]$"
但是我收到以下错误:
Error: '\S' is an unrecognized escape in character string starting "$\text{\S"
有没有一种方法可以将这样的字符串存储在列表中,还是更好的方法?
最佳答案
两次转义\
字符。而且您不需要双方括号...
caption <- list()
myresult <- data.frame(name = c('fee', 'fi'), x = c(1,2))
caption['fig1'] <- "$\\text{\\Sexpr{myresult$name[1]}}\\Sexpr{myresult$x[1]$"
caption['fig2'] <- "$\\text{\\Sexpr{myresult$name[2]}}\\Sexpr{myresult$x[2]$"
坦白说,我会编写一个简单的帮助函数:
genCaption <- function(name, value){
sprintf("$\\text{%s}%.3f$", name, value)
}
您会得到:
> genCaption("pi", pi)
[1] "$\text{pi}3.142$"