如何处理R中bquote表达式的否定

时间:2013-07-05 20:41:14

标签: r

您好我正在尝试使用输入变量编写表达式,例如:

a=1
b=-2
bquote(y == .(a)*x+.(b))

结果为y == 1 * x + -2 不像我预期的那样y == 1 * x - 2

无论如何要处理它?谢谢!

1 个答案:

答案 0 :(得分:3)

我不知道一种优雅的方式,你可以测试标志并返回一个不同的符号,

pm <- function(x){
  if(sign(x) == -1L) 
    return(bquote("-"~.(abs(x)))) else
    bquote("+"~.(x))
}

grid::grid.text(bquote(y== .(a)*x~.(pm(b))))