我在R中使用ggplot2在大約7000個條目的數據集中創建R中的HeatMap,但由於我繪製的圖例說明了「我」知道單個實例具有「Vol」值的結果,所以我感覺不舒服,而我想要繪製「星期幾」/「星期幾」組合的總量。在R中使用HeatMap GGPLOT2之前有條件地求和列?
所以我的新手假設是ggplot2不會自動聚合這些值,或者我在繪圖之前缺少某些東西。
基本上我希望在繪圖點或之前的所有217單元格上完成類似於以下內容的Excel。
=SUMIFS(C2:C9999,D2:D9999,"1",F2:F9999,"Wed")
這對是在星期三本月例如Excel的狀態是「6098822」和第一天的「6756753」爲上週四一個月的第一天;超過了下面HeatMap的最大密度。
最有可能我只是缺少一個基本的聚合函數來產生正確的聚合組合。
有人能指出我應該做什麼並且準確地解釋GGPLOT2正在做什麼,比如它是否使用了它爲劇情找到的第一個組合?
注:DOY - > 1365 DofM-> 1-31 DofW->週日至週六
我的數據如下所示:
> head(AC3,10)
DD Date Vol DofM DoY DofW
1 1 01/01/97 28857 1 1 Wed
2 2 01/02/97 37757 2 2 Thu
3 3 01/03/97 41394 3 3 Fri
4 4 01/04/97 39614 4 4 Sat
5 5 01/05/97 32735 5 5 Sun
6 6 01/06/97 33536 6 6 Mon
7 7 01/07/97 33547 7 7 Tue
8 8 01/08/97 34205 8 8 Wed
9 9 01/09/97 35804 9 9 Thu
10 10 01/10/97 42895 10 10 Fri
>p<-ggplot(AC3,aes(DofM,DofW))
>p + geom_tile(aes(fill=Vol)) + scale_fill_gradient(low="white", high="darkblue") + xlab("Day of Month") + ylab("Day of Week")
這將產生圖: