R 重复数据的热图

R 重复数据的热图,r,ggplot2,heatmap,R,Ggplot2,Heatmap,我能够用一些金融时间序列数据生成热图,但我不认为它显示了我希望它显示的内容(每天每小时的平均价格变动) 当我检查某一小时的平均价格变动时,它与图表上显示的不同 我使用的代码如下: ggplot(data, aes(x=Time, y=Weekday, fill = Change)) + geom_tile(color = "white", size = 0.1) + scale_x_time(expand=c(0,0)) + scale_y_discret

我能够用一些金融时间序列数据生成热图,但我不认为它显示了我希望它显示的内容(每天每小时的平均价格变动)

当我检查某一小时的平均价格变动时,它与图表上显示的不同

我使用的代码如下:

ggplot(data, aes(x=Time, y=Weekday, fill = Change)) + 
  geom_tile(color = "white", size = 0.1) + 
  scale_x_time(expand=c(0,0)) + 
  scale_y_discrete(expand=c(0,0)) + 
  scale_fill_viridis_c(name="Price change", option = "plasma") + 
  theme_bw(base_family="Helvetica") + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
变化是指数年数据的每小时价格变化。时间是小时(00:00,01:00),工作日是一周中的一天(周一,周二,周三等)。它们都是因素,也许我需要让它们成为时间变量,以获得图表中每个方块的平均价格变化

有人知道我如何得到一天中每一小时的平均价格变动吗?因为我不想把价格的任何变化放在热图上

数据片段

Date    Time    Change  Weekday
09/03/2016  16:00   1.980786372 Wednesday
09/03/2016  17:00   0.000000000 Wednesday
09/03/2016  18:00   0.000000000 Wednesday
09/03/2016  20:00   -4.778919160    Wednesday
09/03/2016  21:00   -2.920425114    Wednesday
10/03/2016  16:00   6.123554913 Thursday
10/03/2016  17:00   0.851063830 Thursday
11/03/2016  10:00   0.000000000 Friday
11/03/2016  17:00   0.000000000 Friday
11/03/2016  18:00   0.000000000 Friday
11/03/2016  21:00   0.843881857 Friday
11/03/2016  22:00   0.000000000 Friday
11/03/2016  23:00   0.000000000 Friday
12/03/2016  02:00   1.924686192 Saturday
12/03/2016  03:00   4.448267388 Saturday
12/03/2016  04:00   -1.233616037    Saturday
12/03/2016  07:00   0.000000000 Saturday
12/03/2016  09:00   -5.263157895    Saturday
12/03/2016  12:00   -0.142322097    Saturday
12/03/2016  18:00   0.000000000 Saturday
13/03/2016  00:00   2.973977695 Sunday
13/03/2016  01:00   0.722021661 Sunday
13/03/2016  10:00   0.000000000 Sunday
13/03/2016  12:00   0.000000000 Sunday
13/03/2016  15:00   0.000000000 Sunday
13/03/2016  19:00   0.000000000 Sunday
13/03/2016  20:00   1.010101010 Sunday
13/03/2016  21:00   0.000000000 Sunday
13/03/2016  23:00   -2.587601078    Sunday
14/03/2016  00:00   -17.094487647   Monday
14/03/2016  01:00   1.209992194 Monday
14/03/2016  02:00   0.000000000 Monday
14/03/2016  09:00   -1.132075472    Monday
14/03/2016  10:00   -0.763358779    Monday
14/03/2016  11:00   -0.222222222    Monday
14/03/2016  12:00   4.797047970 Monday
14/03/2016  13:00   -1.761403509    Monday
14/03/2016  14:00   -2.857142857    Monday
14/03/2016  15:00   1.098739031 Monday
14/03/2016  16:00   -0.277008310    Monday
14/03/2016  17:00   0.870827286 Monday
14/03/2016  18:00   6.057553957 Monday
14/03/2016  19:00   -7.430004745    Monday
14/03/2016  20:00   1.054183561 Monday
14/03/2016  21:00   -2.976364167    Monday
14/03/2016  22:00   -3.306650707    Monday
14/03/2016  23:00   -4.149922720    Monday
15/03/2016  00:00   1.964415103 Tuesday
15/03/2016  01:00   0.493198632 Tuesday
15/03/2016  02:00   -1.473007913    Tuesday
15/03/2016  03:00   -3.752988048    Tuesday
15/03/2016  04:00   4.662525880 Tuesday
15/03/2016  05:00   -2.856238626    Tuesday
15/03/2016  06:00   1.950553861 Tuesday
15/03/2016  07:00   0.466698307 Tuesday
15/03/2016  08:00   1.648222275 Tuesday
15/03/2016  09:00   -0.702648444    Tuesday
15/03/2016  10:00   0.023116043 Tuesday
15/03/2016  11:00   0.145716696 Tuesday
15/03/2016  12:00   -1.045671229    Tuesday
15/03/2016  13:00   -0.656117329    Tuesday
15/03/2016  14:00   -5.497076023    Tuesday
15/03/2016  15:00   1.952420016 Tuesday
15/03/2016  16:00   -1.252408478    Tuesday
15/03/2016  17:00   0.984665052 Tuesday
15/03/2016  18:00   3.764386189 Tuesday
15/03/2016  19:00   -0.330769231    Tuesday
15/03/2016  20:00   -0.309310238    Tuesday
15/03/2016  21:00   -0.445069103    Tuesday
15/03/2016  22:00   -1.046511628    Tuesday
15/03/2016  23:00   0.699515720 Tuesday
16/03/2016  00:00   3.053435115 Wednesday
16/03/2016  01:00   0.506253722 Wednesday
16/03/2016  02:00   -0.985185185    Wednesday
16/03/2016  03:00   -1.847834219    Wednesday
16/03/2016  04:00   0.495426829 Wednesday
16/03/2016  05:00   0.792682927 Wednesday
16/03/2016  06:00   1.427169070 Wednesday
16/03/2016  07:00   -1.421064318    Wednesday
16/03/2016  08:00   -0.534196073    Wednesday
16/03/2016  09:00   2.426487263 Wednesday
16/03/2016  10:00   1.609434102 Wednesday
16/03/2016  11:00   -0.789473684    Wednesday
16/03/2016  12:00   0.877840071 Wednesday
16/03/2016  13:00   -2.807195706    Wednesday
16/03/2016  14:00   -0.514963803    Wednesday
16/03/2016  15:00   -1.849779966    Wednesday
16/03/2016  16:00   -2.112622540    Wednesday
16/03/2016  17:00   -0.679641643    Wednesday
16/03/2016  18:00   1.213573471 Wednesday
16/03/2016  19:00   0.000000000 Wednesday
16/03/2016  20:00   -1.509146341    Wednesday
16/03/2016  21:00   1.137066832 Wednesday
16/03/2016  22:00   -2.185541800    Wednesday
16/03/2016  23:00   -1.968750000    Wednesday
17/03/2016  00:00   -0.557857826    Thursday
17/03/2016  01:00   -1.062300319    Thursday
17/03/2016  02:00   0.347138129 Thursday
17/03/2016  03:00   0.602022797 Thursday
17/03/2016  04:00   0.393859015 Thursday
17/03/2016  05:00   0.240192154 Thursday
17/03/2016  06:00   0.731570062 Thursday
17/03/2016  07:00   -4.329073482    Thursday
17/03/2016  08:00   -5.912426816    Thursday
17/03/2016  09:00   2.107081174 Thursday
17/03/2016  10:00   0.684468481 Thursday
17/03/2016  11:00   -8.531163493    Thursday
17/03/2016  12:00   2.435005492 Thursday
17/03/2016  13:00   -3.139013453    Thursday
17/03/2016  14:00   1.421140628 Thursday
17/03/2016  15:00   2.541508209 Thursday
17/03/2016  16:00   -4.054054054    Thursday
17/03/2016  17:00   0.469483568 Thursday
17/03/2016  18:00   0.046433878 Thursday
17/03/2016  19:00   3.880184332 Thursday
17/03/2016  20:00   0.246218783 Thursday
17/03/2016  21:00   -1.745200698    Thursday
17/03/2016  22:00   1.030927835 Thursday
17/03/2016  23:00   -1.276785714    Thursday
18/03/2016  00:00   0.361010830 Friday
18/03/2016  01:00   -2.666064166    Friday
18/03/2016  02:00   0.649953575 Friday
18/03/2016  03:00   1.390176089 Friday
18/03/2016  04:00   0.548446069 Friday
18/03/2016  05:00   0.569538857 Friday
18/03/2016  06:00   -3.467889908    Friday
18/03/2016  07:00   -1.692015209    Friday
18/03/2016  08:00   -0.988180585    Friday
18/03/2016  09:00   -5.900195695    Friday
18/03/2016  10:00   1.409457665 Friday
18/03/2016  11:00   -13.000873193   Friday
18/03/2016  12:00   -4.120443740    Friday
18/03/2016  13:00   7.302062736 Friday
18/03/2016  14:00   9.649122807 Friday
18/03/2016  15:00   2.581039021 Friday
18/03/2016  16:00   -2.198124267    Friday
18/03/2016  17:00   -2.137648587    Friday
18/03/2016  18:00   -0.050236110    Friday
18/03/2016  19:00   1.920744036 Friday
18/03/2016  20:00   1.344032096 Friday
18/03/2016  21:00   -0.215876754    Friday
18/03/2016  22:00   6.667989680 Friday
18/03/2016  23:00   2.042711235 Friday
19/03/2016  00:00   -4.858962693    Saturday
19/03/2016  01:00   -0.861008610    Saturday
19/03/2016  02:00   -0.907787864    Saturday
19/03/2016  03:00   2.030947776 Saturday
19/03/2016  04:00   -0.511848341    Saturday
19/03/2016  05:00   -5.607566837    Saturday
19/03/2016  06:00   2.516676774 Saturday
19/03/2016  07:00   0.167570232 Saturday
19/03/2016  08:00   6.335900185 Saturday
19/03/2016  09:00   -0.632505271    Saturday
19/03/2016  10:00   -2.608213097    Saturday
19/03/2016  11:00   1.277528840 Saturday
19/03/2016  12:00   2.742999140 Saturday
19/03/2016  13:00   -0.270522388    Saturday
19/03/2016  14:00   -0.981481481    Saturday
19/03/2016  15:00   2.432179607 Saturday
19/03/2016  16:00   0.182648402 Saturday
19/03/2016  17:00   -1.276207840    Saturday
19/03/2016  18:00   -2.123730379    Saturday
19/03/2016  19:00   -3.161350844    Saturday
19/03/2016  20:00   0.862068966 Saturday
19/03/2016  21:00   -3.133903134    Saturday
19/03/2016  22:00   -0.039215686    Saturday
19/03/2016  23:00   2.920276453 Saturday
20/03/2016  00:00   -1.312682973    Sunday
20/03/2016  01:00   0.293282876 Sunday
20/03/2016  02:00   -2.159624413    Sunday
20/03/2016  03:00   2.097565669 Sunday
20/03/2016  04:00   -0.459705413    Sunday
20/03/2016  05:00   -0.961813161    Sunday
20/03/2016  06:00   0.508149569 Sunday
20/03/2016  07:00   -1.104707012    Sunday
20/03/2016  08:00   0.000000000 Sunday
20/03/2016  09:00   0.009765625 Sunday
20/03/2016  10:00   0.726532985 Sunday
20/03/2016  11:00   0.260869565 Sunday
20/03/2016  12:00   0.019426906 Sunday
20/03/2016  13:00   -2.682997959    Sunday
20/03/2016  14:00   -1.027667984    Sunday
20/03/2016  15:00   0.519117500 Sunday
20/03/2016  16:00   -1.900099900    Sunday
20/03/2016  17:00   1.530612245 Sunday
20/03/2016  18:00   -3.028479743    Sunday
20/03/2016  19:00   1.715597936 Sunday
20/03/2016  20:00   1.208459215 Sunday
20/03/2016  21:00   0.591133005 Sunday
20/03/2016  22:00   -2.233009709    Sunday
20/03/2016  23:00   1.302288871 Sunday
21/03/2016  00:00   -0.743712692    Monday
21/03/2016  01:00   1.972386588 Monday
21/03/2016  02:00   0.493230174 Monday
21/03/2016  03:00   2.149496514 Monday
21/03/2016  04:00   -0.367924528    Monday
21/03/2016  05:00   -0.056812802    Monday
21/03/2016  06:00   -0.056882821    Monday
21/03/2016  07:00   3.591736164 Monday
21/03/2016  08:00   -1.445430427    Monday
21/03/2016  09:00   1.592268753 Monday
21/03/2016  10:00   -1.746844705    Monday
21/03/2016  11:00   0.853445903 Monday
21/03/2016  12:00   -0.809900810    Monday
21/03/2016  13:00   0.036697248 Monday
21/03/2016  14:00   -1.091743119    Monday
21/03/2016  15:00   0.000000000 Monday
21/03/2016  16:00   2.357798165 Monday
21/03/2016  17:00   2.494451842 Monday
21/03/2016  18:00   0.806451613 Monday
21/03/2016  19:00   -1.846808511    Monday
21/03/2016  20:00   1.014568158 Monday
21/03/2016  21:00   0.583590800 Monday
21/03/2016  22:00   1.339590444 Monday
21/03/2016  23:00   -0.706832716    Monday
22/03/2016  00:00   -2.952872493    Tuesday
22/03/2016  01:00   0.697471665 Tuesday
22/03/2016  02:00   -0.296425458    Tuesday
22/03/2016  03:00   4.156738152 Tuesday
22/03/2016  04:00   -0.220675607    Tuesday
22/03/2016  05:00   0.110262935 Tuesday
22/03/2016  06:00   -0.025695931    Tuesday
22/03/2016  07:00   0.877796902 Tuesday
22/03/2016  08:00   -0.304594297    Tuesday
22/03/2016  09:00   0.644942295 Tuesday
22/03/2016  10:00   0.521797677 Tuesday
22/03/2016  11:00   0.000000000 Tuesday
22/03/2016  12:00   0.167448091 Tuesday
22/03/2016  13:00   -1.089689858    Tuesday
22/03/2016  14:00   0.508905852 Tuesday
22/03/2016  15:00   -5.001275836    Tuesday
22/03/2016  16:00   1.843565420 Tuesday
22/03/2016  17:00   -0.720372485    Tuesday
22/03/2016  18:00   0.639886242 Tuesday
22/03/2016  19:00   1.256859621 Tuesday
22/03/2016  20:00   -0.611353712    Tuesday
22/03/2016  21:00   0.122914838 Tuesday
22/03/2016  22:00   1.224632610 Tuesday
22/03/2016  23:00   -2.361038508    Tuesday
23/03/2016  00:00   0.757440741 Wednesday
23/03/2016  01:00   0.716941052 Wednesday
23/03/2016  02:00   1.004759387 Wednesday
23/03/2016  03:00   0.532332664 Wednesday
23/03/2016  04:00   2.246313964 Wednesday
23/03/2016  05:00   1.034775233 Wednesday
23/03/2016  06:00   -0.426813959    Wednesday
23/03/2016  07:00   -1.050861707    Wednesday
23/03/2016  08:00   0.160622200 Wednesday
23/03/2016  09:00   -0.016934801    Wednesday
23/03/2016  10:00   -0.594227504    Wednesday
23/03/2016  11:00   0.162393162 Wednesday
23/03/2016  12:00   0.509337861 Wednesday
23/03/2016  13:00   0.481418919 Wednesday
23/03/2016  14:00   -1.065078833    Wednesday
23/03/2016  15:00   0.771186441 Wednesday
23/03/2016  16:00   3.075630252 Wednesday
23/03/2016  17:00   -0.171204957    Wednesday
23/03/2016  18:00   -1.019991840    Wednesday
23/03/2016  19:00   0.476816837 Wednesday
23/03/2016  20:00   0.818665575 Wednesday
23/03/2016  21:00   0.390370852 Wednesday
23/03/2016  22:00   0.668405608 Wednesday
23/03/2016  23:00   0.574945340 Wednesday
24/03/2016  00:00   -3.086816720    Thursday
24/03/2016  01:00   -3.166666667    Thursday
24/03/2016  02:00   -0.223003688    Thursday
24/03/2016  03:00   0.837392122 Thursday
24/03/2016  04:00   0.000000000 Thursday
24/03/2016  05:00   -1.709401709    Thursday
24/03/2016  06:00   -0.786026201    Thursday
24/03/2016  07:00   0.070422535 Thursday
24/03/2016  08:00   -0.594977688    Thursday
24/03/2016  09:00   2.130094182 Thursday
24/03/2016  10:00   -1.924410541    Thursday
24/03/2016  11:00   -3.431984311    Thursday
24/03/2016  12:00   2.121771218 Thursday
24/03/2016  13:00   -1.261374899    Thursday
24/03/2016  14:00   1.012866137 Thursday
24/03/2016  15:00   2.333333333 Thursday
24/03/2016  16:00   -0.985915493    Thursday
24/03/2016  17:00   0.693529980 Thursday
24/03/2016  18:00   -0.915431561    Thursday
24/03/2016  19:00   -2.390613973    Thursday
24/03/2016  20:00   1.218631522 Thursday
24/03/2016  21:00   -1.218092253    Thursday
24/03/2016  22:00   1.074007220 Thursday
24/03/2016  23:00   0.566699649 Thursday
25/03/2016  00:00   0.071231413 Friday
25/03/2016  01:00   -1.539005838    Friday


我认为您目前在同一位置上过度拼贴了许多瓷砖。你所看到的都是最后一次策划的。您可能希望使用
stat\u summary\u 2d
。例如:

ggplot(d, aes(x = Time, y = Weekday, z = Change)) + 
  geom_tile(color = "white", size = 0.1, stat = 'summary_2d') + 
  scale_x_discrete(expand=c(0,0)) +  # or scale_x_time if formatted correctly 
  scale_y_discrete(expand=c(0,0)) +
  scale_fill_viridis_c(name="Price change", option = "plasma")

您当前正在重复打印数据。如果您想了解方法,则需要将代码修改为以下内容:

ggplot(data %>%group_by(Time, Weekday) %>% summarize_all(mean) %>%ungroup(), aes(x=Time, y=Weekday, fill = Change)) + 
  geom_tile(color = "white", size = 0.1) +     
  scale_x_time(expand=c(0,0)) + 
  scale_y_discrete(expand=c(0,0)) + 
  scale_fill_viridis_c(name="Price change", option = "plasma") + 
  theme_bw(base_family="Helvetica") + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

您是否在寻找历年平均每天每小时的平均价格变动?是的,因此,我在寻找每个方块,以显示特定时间和日期所有数据的平均价格变动。请让您的问题重现,以便其他人可以帮助OK根据您使用的金融数据类型(例如股票价格),使用数据片段更新问题,如果你试着找出几年内价值的平均变化,它的平均值为0,因为在任何一天,数据都有很大的波动,而且肯定是在一年内。按月份将数据分离出来,然后生成热图,或者用折线图将其可视化,可能会更有效。这会给你大量的图表,但会帮助你对数据有一个更有意义的理解。