您好我正在尝试使用输入变量编写表达式,例如:
a=1
b=-2
bquote(y == .(a)*x+.(b))
结果为y == 1 * x + -2
不像我预期的那样y == 1 * x - 2
。
无论如何要处理它?谢谢!
答案 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))))