当我尝试将 expression
与 do.call
和 plot
结合使用时,出现了错误。
x <- 1:10
y <- x^1.5
我可以仅使用plot
函数来获得我想要的图形:
plot(y~x,xlab=expression(paste("Concentration (",mu,"M)")))
然而,我想使用do.call
来实现我的图表。我有一个存储为列表p
的非常长的参数列表。但是,当我尝试将列表传递给do.call
时,我会收到以下错误:
p <- list(xlab=expression(paste("Concentration (",mu,"M)")))
do.call(plot,c(y~x,p))
Error in paste("Concentration (", mu, "M)") :
object 'mu' not found
我还尝试在传递给do.call
的参数中明确定义公式,即do.call(plot,c(formula=y~x,p))
。我不明白为什么会出现错误-特别是因为以下内容没有报错:
do.call(plot,c(0,p))
(并在x轴上给出所需的μ字符。)
do.call(plot,c(0,p))
行为的有趣观察。+1 - Josh O'Brien