使用表达式函数的参数

时间:2014-07-27 02:39:12

标签: r legend

我正在尝试使用expression函数绘制我创建的图形图例,其中expression的参数是我想要绘制为希腊字母符号的字符。

这是我尝试的一个例子,显然不起作用:

param = "tau"
tau.vec = c(1,2,3,4)
plot(tau.vec, tau.vec)
legend("bottomright", sapply(tau.vec, function(x) expression(paste(param, "=", x, sep = " "))))

知道我应该怎么做?

1 个答案:

答案 0 :(得分:2)

试试这个

param = as.symbol("tau")
tau.vec = c(1,2,3,4)
plot(tau.vec, tau.vec)
legend("bottomright",as.expression(sapply(tau.vec, 
    function(x) bquote(.(param)==.(x)))))

expression()不允许使用变量值进行转义,bquote()使用.()语法进行转义。