2015-11-03 61 views
1

我试图在ggplot2中运行此代码。它运行得很好。R:在ggplot2中使用变量名

p <- ggplot(diamonds, aes(x= depth , y = price), color = cut)) 
p + geom_point() 

现在我想通过xy使用变量,这样我可以在使用他们的循环。

var1 <- colnames(diamonds) 

var1是具有以下变量的矢量:

[1] "carat" "cut"  "color" "clarity" "depth" "table" 
[7] "price" "x"  "y"  "z"  

我使用下面的公式,应相当于上述ggplot2

p <- ggplot(diamonds, aes(x= var1[5] , y = var1[7]), color = cut)) 
p + geom_point() 

这一次var1[5]被视为一个变量,var1[7]另一个变量,而不是他们得到分解成深度和价格。

有没有办法解决。我已经使用了粘贴功能,但看起来没有工作。

+6

使用'aes_string' – jenesaisquoi

回答

1

就像在评论媒体链接提到的铺位:aes_string是要走的路:

library(ggplot2) 
var1 <- colnames(diamonds) 
p <- ggplot(diamonds, aes_string(x= var1[5] , y = var1[7]), color = cut) 
p + geom_point() 
+0

非常感谢伯特 –