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

时间:2015-02-28 22:44:04

标签: r ggplot2

在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()

1 个答案:

答案 0 :(得分:5)

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

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

输出:enter image description here

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