在自己的包中参与ggplot

时间:2012-12-11 17:57:33

标签: r ggplot2

这些行在R脚本中的函数中工作正常:

hline_DL <- 22
p <- p + geom_hline(aes(yintercept=hline_DL), color="red", linetype=2)

但是当我在内部创建一个具有相同功能的包(复制粘贴!)时,运行该函数时出现此错误:

"Error in eval(expr, envir, enclos) : object 'hline_DL' not found"

如果我拿走上面的行,那么函数的其余部分在包中运行良好(绘制我想要的内容,但没有y=22处的虚线水平线。)

为什么它作为一个独立的功能工作,而不是在一个包中?我该如何解决?

1 个答案:

答案 0 :(得分:2)

显然,我的建议奏效了。即,将yintercept = hline_DL放在aes()之外,以避免进行非标准评估。

一般来说,设置为单个值的美学不应该在aes()内设置。