我想创建一个“就像”函数一样工作ggplot2
的aes()
函数。我卑微的尝试以“找不到对象”错误而失败:
library(ggplot2)
data <- data.frame(a=1:5, b=1:5)
# Works
ggplot(data) + geom_point() + aes(x=a, y=b)
my.aes <- function(x, y) { aes(x=x, y=y) }
# Fails with "Error in eval(expr, envir, enclos) : object 'x' not found"
ggplot(data) + geom_point() + my.aes(x=a, y=b)
正确的实施方式是my.aes()
什么?这是为了封装和代码重用。
也许这是相关的,我只是还没有看到如何: 如何编写一个 R 函数来评估数据框中的表达式。