我希望它看起来像这样:
R² = 一些值
我已经尝试了下面的代码,但它不起作用,显示的是“R(表达式(^2))= 一些值”:
text (25, 200, paste ("R (expression (^2)) =", round (rsquarelm2, 2)))
我希望它看起来像这样:
R² = 一些值
我已经尝试了下面的代码,但它不起作用,显示的是“R(表达式(^2))= 一些值”:
text (25, 200, paste ("R (expression (^2)) =", round (rsquarelm2, 2)))
您需要的不是字符向量,而是表达式,因此这样做:
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
-上标数字开头这一行,但似乎bquote
不喜欢它。如果有任何建议,我很感兴趣(expression(""^1")不是解决方案,因为我想放置
text_in_var的内容,而且似乎后者不容易用
expression做到 - 而是用
bquote(.(text_in_var))`容易。有什么建议吗? - JelenaČuklina函数paste
返回一个字符串,而不是表达式。对于这种情况,我更喜欢使用bquote
函数:
text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2))))
ahat
是你感兴趣的参数a
的估计器,请使用以下代码:‘==’
而不是‘=’
)。有时候,bquote()
提供了一种更紧凑的形式,例如:‘.()’
括起来的子表达式将被替换为它们的值。
demo(plotmath)
也很有用。title(substitute(R^2 = rsq, list(rsq = format(rsquarelm2, digits = 2))))
或者
title(bquote(R^2 == .(format(rsquarelm2, digits = 2))))
(此处更适合使用format
而非round
,因为您想要控制值的显示方式而不是创建值本身的近似值。)
text(-pi/2, 0, expression(hat(alpha) == (X^t * X)^{-1} * X^t * y))
- Mark Miller