我正在尝试编写一个函数,输出要在多个标准化数据帧上使用的图。我一直在想我做错了什么,可就是想不出来。
# function to plot
plotify <- function(data, x, y){
ggplot2::ggplot(data, aes(x, y)) +
geom_bar(stat = "identity")
}
plotify(iris, Species, Sepal.Length)
## Error in FUN(X[[i]], ...) : object 'Species' not found
如果运行下面的代码
,上面的代码是如何抛出错误的?ggplot(iris, aes(Species, Sepal.Length)) + geom_bar(stat = "identity")
我得到我需要的情节了吗?我是怎么把函数写错的?
是非标准评价。在这里,你可以使用curly-curly
plotify <- function(data, x, y){
ggplot2::ggplot(data, ggplot2::aes({{ x }}, {{ y }})) +
ggplot2::geom_bar(stat = "identity")
}
plotify(iris, Species, Sepal.Length)