2014-09-22 51 views
0

我正在做相當多的特定操作,我需要幫助將其推廣。在條形圖中推廣網絡/總量

我有很多的數據是「看上去」有點像這樣:

> hflights::hflights %>% tbl_df %>% mutate(month=Month, carrier=UniqueCarrier) %>% 
    group_by(month, carrier) %>% summarize(delay=sum(ArrDelay, na.rm=T)) %>% 
    dcast(month ~ carrier) 

    month AA AS B6 CO DL EV F9 FL MQ OO UA US WN XE YV 
1  1 18 296 229 27031 1026 1337 851 216 2322 3957 -219 -1068 31701 24248 NA 
2  2 461 249 802 15769 1657 730 707 1079 4283 11486 323 -663 36729 27861 -44 
3  3 317 476 1037 49061 905 2529 673 1111 2524 12955 1665 -606 28758 50702 -38 
4  4 1147 465 518 52086 1856 4483 515 927 5085 17439 1803 -711 47084 69590 260 
5  5 1272 56 654 63413 1381 3563 1334 1213 7899 22190 1798 1627 73771 66972 18 
6  6 -262 172 504 60042 3736 2618 744 983 4519 21652 6260 2140 40191 66456 49 
7  7 -460 112 1241 41300 2868 1628 321 506 1529 23432 2780 497 21200 98484 34 
8  8 -1417 59 1659 36106 -949 808 42 -1366 310 11038 3546 -84 6991 33554 34 
9  9 -841 -364 -202 24857 1022 -424 151 -747 -1373 4502 1743 248 15592 31846 NA 
10 10 215 -112 -45 26437 1082 -1005 277 -537 522 13 1833 -1878 14725 27539 NA 
11 11 97 -5 -72 20339 -101 207 180 449 2286 2628 230 -1093 8424 24199 NA 
12 12 2287 -242 310 6644 1281 -1082 585 79 2311 5900 -491 -951 12735 65269 NA 

有一些團體正負值;在這種情況下,月&載體。我可以繪製它是這樣的:

> hflights::hflights %>% tbl_df %>% mutate(month=Month, carrier=UniqueCarrier) %>% 
    group_by(month, carrier) %>% summarize(delay=mean(ArrDelay, na.rm=T)) %>% 
    ggplot(aes(x=month, y=delay, fill=carrier)) + geom_bar(stat='identity') 

這使我的眼睛bleedy圖所示:

enter image description here

這也給我的留言:

Warning message: 
Stacking not well defined when ymin != 0 

此消息是我所追求的。我想分開積極和消極,這樣我就可以看到「毛額」數額,並且還可以生成每組的總和並顯示「淨」數量。

對於這個數據集,我能做到這一點,像這樣:

> df <- hflights::hflights %>% tbl_df %>% 
    mutate(month=Month, carrier=UniqueCarrier) %>% 
    group_by(month, carrier) %>% summarize(delay=mean(ArrDelay, na.rm=T)) 
> ggplot(NULL, aes(x=month, y=delay, fill=carrier)) + 
    geom_bar(data=df %>% filter(delay > 0), stat='identity') + 
    geom_bar(data=df %>% filter(delay < 0), stat='identity') + 
    geom_bar(data=df %>% group_by(month) %>% summarize(delay=sum(delay, na.rm=T)), fill='black', width=0.25, alpha=0.5, stat='identity') 

這給了我這個栗子:

enter image description here

這是好多了,因爲在九月,它不會做淨額,以便更好地瞭解積極和消極的程度。

但是,上述僅適用於此數據集。當我有不同的羣體會發生什麼?我如何概括這個?

+0

[this link](http://stackoverflow.com/questions/19481634/ggplot2-warning-stacking-not-well-defined-when-ymin-0)?這對你有幫助嗎? – jazzurro 2014-09-22 23:59:08

回答

0

position = "identity"添加到geom_bar應該擺脫您在第一個情節中獲得的警告。

此警告的reason與解釋條形具有負高度而非負值有關。