问题 如何在文本中使用多个等号(x,y,表达式(...))


是否有解决方案在表达式中使用多个等号(不在括号内)?我目前正在使用“=”。但那不太好,因为==和“=”在情节上看起来不同。

最小样本:

plot(0:5,0:5, type="n")
saleprice <- 35
revenue <- 98000
text(1, 2, 
     bquote(paste(R(x[G]) == .(saleprice)%.%x[G], " = ", .(revenue))))

有关当前状态,请参见下图: 样本图像

我想使用类似的东西:

bquote(R(x[G]) == .(saleprice)%.%x[G] == .(revenue))

但它会产生错误。


1083
2018-06-04 13:31


起源

嗯,我之前从未注意到R barfs解析链式比较运算符。它似乎没有其他任何想法。对比 1 < 2 < 3 同 1 && 2 && 3, 1 & 2 & 3, 要么 x <- y <- z, 例如。 - Hong Ooi
R不喜欢链式比较运算符的原因是 “决定a == b == c会产生不良的语义” - gebi


答案:


使用 {} 在第一个等式周围放置一个不可见的分组。

text(1, 2, bquote({R(x[G]) == .(saleprice)%.%x[G]} == .(revenue)))

16
2018-06-04 13:43



好的,这非常有效。谢谢。 - user2451870