R将variables列索引传递给ggplot2
我试图将列索引传递给ggplot作为我将重复使用的函数的一部分。 喜欢:
myplot <- function(df){ ggplot(df, aes(df[, 1], df[, 2])) + geom_point() }
我将始终使用第一列作为我的xvariables,第二列作为我的yvariables,但列名称在数据集之间更改。 我已经搜遍了所有的想法?
编辑:
这是我使用的答案:
require(ggplot2) myplot <- function(df){ ggplot(df, aes_string(colnames(df)[1], colnames(df)[2])) + geom_point() }
您可以使用aes_string
替代aes
来传递string来代替使用对象,即:
myplot = function(df, x_string, y_string) { ggplot(df, aes_string(x = x_string, y = y_string)) + geom_point() } myplot(df, "A", "B") myplot(df, "B", "A")