【发布时间】:2015-03-31 00:19:40
【问题描述】:
我正在使用 R 中的 ggplot2 从大约 7000 个条目的数据集在 R 中创建一个 HeatMap,但我对结果感到不舒服,因为我的情节图例说明了我知道单个实例具有的“Vol”值,而且我我想绘制月份/星期组合的总交易量。
所以我的新手假设是 ggplot2 不会自动聚合值,或者我在绘图之前遗漏了一些东西。
基本上,我希望在绘图时或之前在所有 217 个单元格上完成类似于 Excel 中的以下操作。
=SUMIFS(C2:C9999,D2:D9999,"1",F2:F9999,"Wed")
当月的第一天是星期三,例如 Excel 声明它是“6098822”,而“6756753”是星期四的一个月的第一天;超过下方 HeatMap 的最大密度。
很可能我只是缺少一个基本的聚合函数来生成正确的聚合组合。
有人可以指出我应该做什么并准确解释 GGPLOT2 在下面做什么,例如它是否使用它为情节找到的第一个组合?
注意:DoY ->1,365 DofM->1-31 DofW->Sun-Sat
我的数据如下所示:
> 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")
这会产生图表:
【问题讨论】: