我正在尝试在 ggplot2
中运行此代码。它运行得很好。
p <- ggplot(diamonds, aes(x= depth , y = price), color = cut))
p + geom_point()
现在我想使用变量传递
x
和 y
以便我可以在 for 循环中使用它们。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]
被视为另一个变量,而不是将它们解析为深度和价格。有没有办法。我使用了粘贴功能,但看起来不起作用。
最佳答案
就像评论中提到的 bunk 一样: aes_string 是要走的路:
library(ggplot2)
var1 <- colnames(diamonds)
p <- ggplot(diamonds, aes_string(x= var1[5] , y = var1[7]), color = cut)
p + geom_point()
关于R:在 ggplot2 中使用变量名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33492052/