2014-09-22 3 views
0

나는 특정 작업을 꽤 많이하고 있으며 일반화하는데 도움이 필요하다.막 대형 차트에서 net/gross 일반화

나는 "보인다"고 많은 데이터를 가지고 가지 같은 :

> 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 차트 준다 :

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

이 메시지 :

enter image description here

또한 나에게 메시지를 제공을 내가 한 일이야. 긍정적 인 부분을 음수와 분리하여 "총액"을 볼 수 있고 그룹당 합계를 생성하여 "순액"을 표시 할 수도 있습니다. 이 데이터 집합에 대한

, 나는 할 수 있도록 같은 :

enter image description here

이 9 월에, 그것을하지 않기 때문에 훨씬 좋네요 : 저에게이 밤을 제공

> 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') 

네팅의 긍정적 인면과 네거티브의 정도를 더 잘 이해할 수 있습니다.

그러나 위의 데이터 집합은이 데이터 집합에서만 작동합니다. 다른 그룹이있을 때 어떻게됩니까? 어떻게 일반화 할 수 있습니까?

+0

어때 [이 링크] (http://stackoverflow.com/questions/19481634/ggplot2-warning-stacking-not-well-defined-when-ymin-0)? 이게 도움이 되니? – jazzurro

답변

0

position = "identity"에서 geom_bar을 추가하면 첫 번째 플롯에서 경고 메시지가 표시됩니다.

이 경고의 경우 reason은 음수 값 대신 음수 높이가있는 막대를 해석하는 것과 관련이 있습니다.

관련 문제