2013-08-24 51 views
0

我想一次可視化許多時間序列。我是R新手,在網上搜索了大約6個小時,並閱讀了如何解決這個相對簡單的問題。我的數據集有五個時間點排成行和100列。我可以很容易地在qplot(time, var2, geom="line")的時間點上繪製任何列。但是我想學習如何做到這一點,以獲得靈活的列數,以及如何在一頁上打印6到12個單獨的圖形。簡單的方法來查看相同的X的多個Y變量X

在這裏我瞭解了多槽功能,讓它在佈局方面起作用。

我堅持的是如何獲取變量列表到FOR語句中,以便我可以有一條語句將所有變量繪製在相同的五個時間點上。

這就是我在玩什麼。它有9個圖,3列寬,但我不知道如何將所有變量都存入yvars的數組中?

for (i in 1:9) { 
     p1 = qplot(symbol,yvar, geom ="smooth", main = i)) 
     plots[[i]] <- p1 # add each plot into plot list 
    } 
multiplot(plotlist = plots, cols = 3) 

我現在很愚蠢,它使9個相同的情節。那麼,如何創建列表,以便上述循環遍歷我的所有列並製作這些圖?

回答

1

先融化使用您的所有數據包reshape2

datm <- melt(your.original.data.frame, id = "time")

現在,使用面繪製它:

qplot(time, value, data = datm, facets= variable ~ ., geom="point")

讓我知道這是否正常工作。如果可以,請上傳您的數據,這將非常有幫助。

+0

請注意,您還需要爲此解決方案加載'ggplot2'包。 –

+0

@ChelseaE。我想我可能需要重新格式化我的數據,以使您能夠指揮工作。下面是第一2600行的三: 基因 4.62 \t 4.50 \t 4.02 \t 4.06 \t 4.59 4.31 \t 4.71 \t 4.46 \t 4.07 \t 4.25 10.39 \t 10.20 \t 10.60 \t 10.64 \t 10.35 因此,對於7892502,我希望這些5個數字與0,1,2,3,4對應。 然後,對於7892507,該行上的數字再次相同0,1,2,3,4 依此類推。 我是否需要重新格式化數據,如果有的話,我可以在哪裏閱讀有關如何在R中執行該操作的提示,而不是在Excel中進行復制和粘貼? 謝謝,Rob – user2714356

+0

@ user2714356,請將您的數據框保存爲CSV文件並將其上傳至[link](http://bit.ly/16RSIl0)。 爲了使這個命令適合你的數據和輸出目錄:'write.table(mydata,「c:/mydata.txt」,sep =「,」)'' – amzu

相關問題