如何在另一个函数中传递/计算函数参数以与ggplot一起使用?

时间:2011-10-17 11:49:24

标签: r eval ggplot2

请考虑以下代码:

test <- function(x,n){

selection<-names(x)[n]
graph <- ggplot(x, aes(factor(selection)))
graph + geom_bar()
}

test(mtcars,1)

抛出错误导致R无法找到选择。我还使用了substituteevalget但没有成功。我发现this similar question并认为我理解Joris'回答,但也不能对ggplot的参数使用相同的技巧。

1 个答案:

答案 0 :(得分:9)

您可以将aes_string用于此目的。所以test应该是这样的:

test <- function(x,n){
  graph <- ggplot(x, aes_string(x = names(x)[n]))
  graph + geom_bar()
}