如何在R上的绘图上为文本添加上标?
我需要它看起来像这样:如何在R上的绘图上为文本添加上标?,r,plot,legend,superscript,R,Plot,Legend,Superscript,我需要它看起来像这样: text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2)))) R^2=某些值 我试过下面的代码,但不起作用,结果是“R(表达式(^2))=一些值”: 您不需要一个字符向量,而是一个表达式,因此 expression(R^2 == 0.85) 这就是你需要的。在这种情况下,您希望替换另一个R操作的结果。对于您想要的substitute()或bquote()。我发现后者更容易处理: rsquarelm
text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2))))
R^2=某些值
我试过下面的代码,但不起作用,结果是“R(表达式(^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))))
rsquarelm2函数paste
返回字符串,而不是表达式。对于这样的情况,我更喜欢使用bquote
:
text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2))))
如何在绘图中包含格式和数学值是个难题
例如,如果ahat
是您感兴趣的参数a
的估计器,则使用
title(替换(hat(a)=ahat,list(ahat=ahat)))
(请注意,它是'=='
,而不是'='
)。有时,bquote()
会给出更多
紧凑的形式,例如,标题(bquote(hat(a)=(ahat))
其中,“.()”
中包含的子表达式将替换为其值
demo(plotmath)
也很有用
在这种情况下,您可以使用
title(substitute(R^2 = rsq, list(rsq = format(rsquarelm2, digits = 2))))
或
(format
在这里比round
更合适,因为您希望控制值的显示方式,而不是创建值本身的近似值。)我通过谷歌搜索找到了这一点。也许你可以修改它:text(-pi/2,0,expression(hat(alpha)=(X^t*X)^{-1}*X^t*y))
在我的情况下,我需要以^1
-上标数字开始这一行,这是bquote似乎不喜欢的。我对任何建议都感兴趣(expression(“^1”)不是一个解决方案,因为我想把text\u的内容放在\u var`中,而后者似乎不容易处理expression
,bquote((text\u in\u var))
。有什么建议吗?
title(bquote(R^2 == .(format(rsquarelm2, digits = 2))))