从字符串中引用 R 数据框列名

Reference R data frame column name from string

在ggplot()中,你可以在aes()中使用列名作为引用:

p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()

我将列名称存储为字符串。是否可以将字符串切换为 R 中的列名引用?

# This doesn't work
var1 = "wt"
var2 = "mpg"
p <- ggplot(mtcars, aes(var1, var2))
p + geom_point()

您可以使用 get() 命令访问变量,如下所示:

var1 = "wt"
var2 = "mpg"
p <- ggplot(data=mtcars, aes(get(var1), get(var2)))
p + geom_point()

输出:

get是一种使用字符串调用对象的方式。例如

e<-c(1,2,3,4)

print("e")
[1] "e"
print(get("e"))
[1] 1 2 3 4
print(e)
[1] 1 2 3 4

identical(e,get("e"))
[1] TRUE
identical("e",e)
[1] FALSE