我是R的新手,我无法理解如何汇总每年数据的年度数据?
Week obs
1 2004-01-04 23
2 2004-01-11 36
3 2004-01-18 18
4 2004-01-25 26
5 2004-02-01 17
6 2004-02-08 17
7 2004-02-15 26
8 2004-02-22 21
9 2004-02-29 34
10 2004-03-07 21
11 2004-03-14 30
12 2004-03-21 31
13 2004-03-28 31
14 2004-04-04 38
15 2004-04-11 14
16 2004-04-18 16
17 2004-04-25 44
18 2004-05-02 17
19 2004-05-09 43
20 2004-05-16 31
21 2004-05-23 31
22 2004-05-30 33
23 2004-06-06 13
24 2004-06-13 13
25 2004-06-20 46
26 2004-06-27 34
27 2004-07-04 27
28 2004-07-11 24
29 2004-07-18 20
30 2004-07-25 29
31 2004-08-01 29
32 2004-08-08 12
33 2004-08-15 16
34 2004-08-22 26
35 2004-08-29 29
36 2004-09-05 27
37 2004-09-12 8
38 2004-09-19 18
39 2004-09-26 14
40 2004-10-03 25
41 2004-10-10 26
42 2004-10-17 11
43 2004-10-24 24
44 2004-10-31 17
45 2004-11-07 11
46 2004-11-14 19
47 2004-11-21 8
48 2004-11-28 16
49 2004-12-05 19
50 2004-12-12 14
51 2004-12-19 13
52 2004-12-26 29
我想保留
2004 1215
答案 0 :(得分:1)
使用data.table
,给定df$Week
属于Date
类:
library(data.table)
setDT(df)[,.(abs = sum(obs)), by = year(df$Week)]
# year abs
#1: 2004 1215
答案 1 :(得分:1)
在基地R,
aggregate(df$obs, list(year = format(df$Week, '%Y')), sum)
# year x
# 1 2004 1215
或lubridate
library(lubridate)
aggregate(df$obs, list(year = year(df$Week)), sum)
# year x
# 1 2004 1215
或lubridate
和dplyr
library(dplyr)
df %>% group_by(year = year(Week)) %>% summarise(obs = sum(obs))
# Source: local data frame [1 x 2]
#
# year obs
# (dbl) (int)
# 1 2004 1215