2015-11-03 83 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

非常感謝伯特 –