This question already has answers here:
Concatenate strings and expressions in a plot's title

(3个答案)


7年前关闭。




我想在R图中获得如下标题:
title = "The significance level you entered is alpha = 0.05 which is often used."

为了做到这一点,我将整个文本分为几部分,所以我终于可以写了
title = paste(part1,part2,part3,part4)

这些部分是:
part1 = "The significance level you entered is"

part2 = expression(alpha)

part3 = object@attribute

part4 = " which is often used."

因此,我无法结合这些部分来获得结果。

要么正确显示了符号,然后将第3部分打印为object @ attribute(而不是其值),要么未显示符号,并且正确地打印了对象的值。

我已经使用了?expression?print,但没有得到
?plotmath中提供的示例也不符合我的情况。

最佳答案

一种解决方案是使用bquote()。在.()中使用bquote获取对象或表达式的值。这是一个可能如何工作的示例:

obj = list(foo=0, bar=99, alpha=0.05)
plot(1:10, main=bquote("Significance level is" ~ alpha == .(obj$alpha)))

此处似乎需要波浪号~,以说服bquote将alpha视为绘图软件表达式。

09-25 21:31