如何在R?
中的Latex表达式中使用变量例如:
plot(X, Y, main=expression(R^2))
将R放在一个漂亮的上标2作为主标题。
但是我要说它想要'R ^ 2:0.5',其中0.5来自R变量。我该怎么做?
答案 0 :(得分:13)
Owen的黑客很酷,但实际上并不常见。如果您使用bquote
,这实际上非常简单。 bquote
将与quote
执行相同操作,但.()
之间的所有内容都将在指定环境(或全局,如果未指定任何内容)中进行评估。
一个简单的例子:
X <- 1:10
Y <- 1:10
a <- 0.8
plot(X,Y,main=bquote(R^2 : .(a)))
给予:
有关更多示例和可能性,请参阅?bquote
和?plotmath
答案 1 :(得分:3)
这很有效......
call(':', quote(R^2), a)
虽然对我来说感觉有点哈哈,因为它使用的是R:运算符,而你只是想在最后添加一些文本。也许有更好的方法?
答案 2 :(得分:3)
tikz和psfrag允许您使用实际的LaTeX代码和输出而不是plotmath,从而获得更好的排版一致性。
有关详细信息,请参阅此问题。 Getting LaTeX into R Plots
答案 3 :(得分:2)
@Joris主题的另一个变体是substitute()
。您为substitute()
提供表达式以及用于评估表达式的环境或列表。通过列表通常是最简单的,特别是对于像这里提出的那样的工作。
plot(X,Y, main = substitute(R^2 : a, list(a = a)))
我们可以通过仅查看substitute()
电话:
> substitute(R^2 : a, list(a = a))
R^2:0.8
表达式中的a
将替换为列表中a
的值。