我有几个等长的数字向量,比如
alpha <- c(1, 2, 3, 4)
beta <- c(5, 6, 7, 8)
gamma <- c(9, 10, 11, 12)
我希望将它们放入数据框或带有标记为alpha,beta和gamma的列的内容中。像
alpha | beta | gamma
1 | 5 | 9
2 | 6 | 10
3 | 7 | 11
4 | 8 | 12
哪个qplot
应该能够通过colour = labels
阅读并分开。 cbind
和rbind
会生成qplot
无法读取的矩阵。并且c
排列了alpha beta和gamma,而没有将它们标记为单独的。
diamonds
数据集显示了qplot(carat, price, data = diamonds, colour = color)
后的内容,但我想将我的共享维度数据绘制为x=1:4
之类的索引。
常规R
我会plot(alpha); points(beta); points(gamma)
。
很抱歉提出这样一个基本问题。
答案 0 :(得分:3)
如果你想要一个data.frame,那么data.frame
就会这样做:
> data.frame(alpha, beta, gamma)
alpha beta gamma
1 1 5 9
2 2 6 10
3 3 7 11
4 4 8 12
这可以传递给qplot
或ggplot
。
对于qplot
,您无需创建data.frame。只需调用变量即可:
qplot(alpha, beta, colour=gamma)
评论后更新。
我仍然不确定需要什么,但这个例子可能有所帮助:
> d <- data.frame(x=1:4, alpha, beta, gamma)
> d
x alpha beta gamma
1 1 1 5 9
2 2 2 6 10
3 3 3 7 11
4 4 4 8 12
> d2 <- melt(d, id="x")
> d2
x variable value
1 1 alpha 1
2 2 alpha 2
... snip ...
11 3 gamma 11
12 4 gamma 12
> qplot(d2$x, d2$value, colour=d2$variable, geom="line")
# same as
> ggplot(d2, aes(x, value, colour=variable)) + geom_line()