背景
我正在尝试通过图例中的bquote
建立回归方程。使用我的R代码的版本#1 (请参见图片下方的R代码),得到以下图片。
但是,如果 b
(请参见图片下方的R代码)为“负”,我需要。为了达到这个标准,我想出了我的R代码的版本#2 (请参见图片下方的R代码)。
题
我想知道如何解决版本2 R代码中的错误(请参见图片下方的R代码)吗?+
版本#1:
版本2:plot(1, ty = 'n')
a = .234; b = -.335
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ + ~.
(round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~
ifelse(.(b > 0), + , "") ~.(round(b , 2))~"\u00D7"~Predictor[i])),
bty = "n")
最佳答案
对我来说,最简单的解决方法(以及我在这种情况下通常会做的事情-在您的情况下,我什至不确定是否可以在ifelse
中调用bquote
)是在调用外部而不是内部使用if-else
:
plot(1, ty = 'n')
a = .234; b = -.335
if (b > 0) {
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ + ~.
(round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")
} else {
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ .
(round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")
}
输出: