我需要它看起来像这样:
R ^ 2 =一些值
我已经尝试了下面的代码,但它不起作用,它出现为“R(表达式(^ 2))=某些值”而不是:
text (25, 200, paste ("R (expression (^2)) =", round (rsquarelm2, 2)))
答案 0 :(得分:8)
您不需要字符向量,而是表达式,因此
expression(R^2 == 0.85)
是你需要的。在这种情况下,您希望替换另一个R操作的结果。为此,您需要substitute()
或bquote()
。我发现后者更容易使用:
rsquarelm2 <- 0.855463
plot(1:10, 1:10, type = "n")
text(5, 5, bquote(R^2 == .(round(rsquarelm2, 2))))
使用bquote()
,评估.( )
中的任何内容,并将结果包含在返回的表达式中。
答案 1 :(得分:4)
paste
函数返回一个字符串,而不是表达式。对于这样的情况,我更喜欢使用bquote
:
text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2))))
答案 2 :(得分:2)
如何在图表中包含格式和数学值FAQ 7.13。
例如,如果
ahat
是您感兴趣的参数a
的估算值,请使用
title(substitute(hat(a) == ahat, list(ahat = ahat)))
(请注意,它是
‘==’
而不是‘=’
)。有时bquote()
给出更多 紧凑形式,例如title(bquote(hat(a) = .(ahat)))
其中
‘.()’
中包含的子表达式被其值替换。
demo(plotmath)
也很有用。
在这种情况下,您可以使用
title(substitute(R^2 = rsq, list(rsq = format(rsquarelm2, digits = 2))))
或
title(bquote(R^2 == .(format(rsquarelm2, digits = 2))))
(format
此处比round
更合适,因为您想要控制值的显示方式,而不是创建值本身的近似值。)