【发布时间】:2011-04-01 13:52:58
【问题描述】:
我无法理解这一点。
这些例子是有效的:
# Function with geom_density
gr.den <- function(var.name) {
ggplot(results, aes(get(var.name), fill = name)) +
geom_density(alpha = 0.2) +
geom_vline(xintercept = tv[, var.name], color="red", size=1) +
xlab(var.name)
}
gr.den("sum.Empl")
# Example with geom_point
ggplot(results, aes(sum.All, sum.Empl)) +
geom_point(alpha = 1/5) +
opts(aspect.ratio = 1) +
facet_grid(. ~ name)
然后我尝试使用 geom_point 创建类似的函数:
gr.sc <- function(var.name.1, var.name.2) {
ggplot(results, aes(get(var.name.1), get(var.name.2))) +
geom_point(alpha = 1/5) +
opts(aspect.ratio = 1) +
facet_grid(. ~ name)
}
gr.sc("sum.All", "sum.Empl")
我收到了这个错误。为什么?
Error in get(var.name.1) : object 'var.name.1' not found
【问题讨论】:
-
请提供一个可重现的例子。看起来我们需要
results和tv的内容来运行您的代码。运行dput()并将结果粘贴到您的问题中。