基于小时和月的总和值和重新安排总和时间序列

时间:2016-12-01 15:34:53

标签: r date dataframe

我正在尝试按月和小时汇总(求和)值并重新排列求和数据,以便小时和月份在不同的“轴”上。我希望小时为列标题月为行标题,每个单元格中的求和值。这就是我的意思,通过虚拟数据示例(显然存在12个月,真实数据中存在24小时):

Month <- c(1,1,2,2,3,3,3,4,4,4,5,5,5,5,6,7,8,9,10,11,12)
Hour <- c(4,1,3,2,5,5,1,4,3,6,0,0,2,3,1,2,3,4,5,6,2)
Value <- c(0.1,0.4,0.02,0.1,0.1,0.2,0.02,0.01,0.01,0.02,0.1,0.3,0.2,0.1,0.2, 0.1,0.3,0.1,0.01,0.01,0.1)

z <- data.frame(Month, Hour, Value)
head(z)
Month Hour Value
  1    4  0.10
  1    1  0.40
  2    3  0.02
  2    2  0.10
  3    5  0.10
  3    5  0.20

我想要的输出,小时=列标题(总共有24个,这只显示前6个小时),月=行标题(总共会有12个)

z

    0    1    2    3    4    5    6  
1  0.3  0.2  0.1  0.7  0.1  1.1  0.7
2  0.1  0.1  0.8  1.7  0.2  0.1  0.6
3  0.2  0.7  0.1  0.4  2.1  1.3  0.1
4  0.1  0.2  0.2  0.1  3.1  0.1  0.7
5  0.7  0.8  1.2  0.2  0.4  0.1  0.2
6  0.5  0.2  3.0  0.8  0.2  5.1  1.2
7  0.5  0.2  3.0  0.8  0.2  5.1  1.2
8  0.5  0.2  3.0  0.8  0.2  5.1  1.2
9  0.5  0.2  3.0  0.8  0.2  5.1  1.2
10  0.5  0.2  3.0  0.8  0.2  5.1  1.2
11  0.5  0.2  3.0  0.8  0.2  5.1  1.2
12  0.5  0.2  3.0  0.8  0.2  5.1  1.2

1 个答案:

答案 0 :(得分:3)

我们可以使用xtabs来创建列联表

xtabs(Value~Month+Hour)