【发布时间】:2013-08-16 19:41:14
【问题描述】:
当我尝试将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 的参数中明确定义公式。 IE。 do.call(plot,c(formula=y~x,p))。我不明白为什么我会收到错误 - 特别是因为以下内容没有给出错误:
do.call(plot,c(0,p))
(并在 xaxis 中给出所需的 mu 字符)。
【问题讨论】:
-
+1 感谢您对
do.call(plot,c(0,p))行为的有趣观察。 -
@Metrics 我在发帖前确实读过这个问题。
标签: r plot expression do.call