2016-03-21 92 views
1

barplot我有「聚集」的這樣一個結果:R:創建一個從聚集data.frame

week year Severity 
1 10 2013  26 
2 11 2013  5 
3 16 2013  26 

我想繪製(如最大)52條的barplot(一個用於每週)每年的堆疊酒吧的「嚴重」高度。我從「barplot」文檔中看到我需要一個矩陣。當然,我可以使用/並且像那樣得到我需要的東西,但是我想知道是否沒有更多的「R-ISH」方法來解決這個問題(看似非常典型的任務)?

因此,更技術性地說,我需要將我的{X; 3}維數據幀到{52; Y}維矩陣,其中「年」和「周」的「嚴重性」值將被放置在適當的「單元格」中。

我試過使用「融化」,但我看到的唯一區別是列名+額外列的更改。

任何想法?謝謝 !

+0

您可以粘貼前兩列一起形成具有52個獨特組合的週年ID?然後繪製一個條形圖,其中每週的年份爲x軸,嚴重性爲y軸爲正常情況。 – Heisenberg

+0

我不確定我是否完全明白這一點。「周+年」絕對不會給出52個獨特的價值......因爲我有好幾年的數據(應該明確提及它,我的壞...) – 62mkv

+0

I不知道52從哪裏來,但如果你每週有一次觀察,那麼周+年將是一個獨特的組合。如果沒有,那麼你需要發佈更具代表性的數據。 – Heisenberg

回答

0

顯然,這已經回答了Reshape three column data frame to matrix ("long" to "wide" format)

我來說,使用 「XTABS」 的方式,它就像一個魅力:

m <- xtabs(Severity~year+month, data=ss1) 

和結果:

 month 
year 1 2 3 4 5 8 9 10 11 12 
    2013 0 0 31 32 26 17 0 33 0 40 
    2014 0 0 22 33 22 0 8 0 57 6 
    2015 23 2 0 0 32 0 26 0 0 0 
    2016 0 28 0 0 0 0 0 0 0 0 

Barplot然後建立爲「barplot(m)」