背景
我正在尝试通过图例中的bquote
建立回归方程。使用我的 R 代码的版本#1(参见图片下方的 R 代码),我得到了下面的图片。
但是,我需要IF b
(见图片下方的R代码)是“负” < strong>THEN +
符号将被删除。为达到此标准,我提出了我的 R 代码的版本#2(参见图片下方的 R 代码)。
问题
我想知道如何修复我的版本#2 R 代码中的错误(参见图片下方的 R 代码)?
错误:“bty = “n”)”中出现意外的 ')'
版本#1:
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")
版本#2:
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~
ifelse(.(b > 0), + , "") ~.(round(b , 2))~"\u00D7"~Predictor[i])),
bty = "n")
最佳答案
对我来说,最简单的解决方法(以及我通常在这种情况下所做的 - 在你的情况下,我什至不确定你是否可以在 bquote
中调用 ifelse
)是在调用外部而不是内部使用 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")
}
输出:
关于r - 将条件回归方程写为 R 中的图例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965715/