2015-01-26 170 views
-1

我試圖從具有兩列的數據框中保存的數據創建堆積條形圖。的數據格式的一個例子是下面:R:來自兩列數據的堆積條形圖

Date Speed 
01/01/2013 56 
01/01/2013 45 
01/01/2013 34 
02/01/2013 23 
02/01/2013 12 
02/01/2013 1 
03/01/2013 48 

對於每天我需要計數落入每個類別(由限制例如,0-40,41-48,49-60定義的項的數量, > 60),然後將每天的計數繪製爲堆積條形圖。

我可以通過分別計算每天的條目數,並將結果放入一個新的正確格式的數據框中來使用標準堆疊條形圖命令進行繪圖。但這是一種低效率的方法。我在搜索中找不到更優雅的方法,但我相信必須存在。

我只想使用標準軟件包來做到這一點,因爲我無法在我可用的系統上安裝新軟件包。

回答

1

您可以在這裏使用基地barplot。下面的例子

dd<-read.table(text="Date Speed 
01/01/2013 56 
01/01/2013 45 
01/01/2013 34 
02/01/2013 23 
02/01/2013 12 
02/01/2013 1 
03/01/2013 48", header=T) 

#make sure it's a date  
speed_date <- as.Date(dd$Date, "%m/%d/%Y") 

#cut data into requested bins 
speed_cut <- cut(dd$Speed, 
    breaks=c(0,40,48,60,Inf), 
    labels=c("0-40", "41-48", "49-60", "> 60") 
) 

#pick a color for each bin 
speed_cols <- heat.colors(nlevels(speed_cut)) 

barplot(table(speed_cut, speed_date), col=speed_cols) 
legend("topright",levels(speed_cut), fill=speed_cols) 

這將產生

enter image description here

您不妨換個顏色,以滿足您的口味。

+0

完美。非常感謝。 R繼續讓我感到驚訝,因爲它使得這些任務變得容易......當然,一旦你知道如何去做它們! – Pete 2015-01-26 20:16:00