2011-05-21 51 views
0

我有號碼的幾個相等長度矢量,像熔融,不as.data.frame或R中rbind(基本ggplot)

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分離出來。 cbindrbind產生一個qplot無法讀取的矩陣。和c排隊alpha測試版和伽馬,沒有標記爲單獨的。

diamonds數據集顯示我在使用qplot(carat, price, data = diamonds, colour = color)之後的情況,但我想繪製我的共享維數據與x=1:4之類的索引。我想做plot(alpha); points(beta); points(gamma)

對不起,提出這樣一個基本問題。

回答

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 

這可以傳遞給qplotggplot

qplot的情況下,您不需要創建data.frame。只需撥打這些變量即可:

並在更新後發表評論。

我仍然不知道什麼是需要的,但這個例子可以幫助:

> 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() 
+0

謝謝你的快速反應!這不是我想要做的,我想'qplot(data = that.data.frame,geom =「line」,color = names(that.data.frame))'並獲得三行,一個用於伽瑪射線測試的Alpha版,根據標籤着色。如果不清楚,道歉。 – isomorphismes 2011-05-21 03:39:26

+0

換句話說,alpha beta gamma全都用相同的單位表示,我只想並排繪製圖表。有點像使用'color = color'的鑽石數據集。 – isomorphismes 2011-05-21 03:40:48

+1

@Lao Tzu我無法理解你的意思,但也許'融化'data.frame是相關的。嘗試'd < - data.frame(alpha,beta,gamma); d2 < - melt(d)' – kohske 2011-05-21 03:45:47