我有一个类似下面的数据框,
Date Bradford Leeds Exeter Carlisle Bristol
1 2012-03 58 115 36 26 141
3 2012-04 140 302 100 70 348
8 2012-05 105 238 77 55 284
12 2012-06 107 239 77 53 288
16 2012-07 142 319 99 72 368
21 2012-08 112 280 81 60 318
25 2012-09 143 325 108 70 374
30 2012-10 110 259 84 52 288
34 2012-11 107 243 81 55 266
38 2012-12 142 291 93 59 305
43 2013-01 135 264 90 51 289
47 2013-02 122 255 78 51 269
51 2013-03 138 315 97 67 350
56 2013-04 109 243 77 53 274
60 2013-05 112 225 76 53 266
64 2013-06 131 286 95 66 345
69 2013-07 106 239 78 57 284
73 2013-08 109 270 80 61 302
77 2013-09 139 301 106 66 346
82 2013-10 111 238 81 51 277
86 2013-11 102 231 78 49 261
90 2013-12 123 267 88 58 304
95 2014-01 105 241 81 51 273
99 2014-02 105 246 82 52 274
103 2014-03 127 294 96 65 352
108 2014-04 105 239 76 54 264
112 2014-05 105 225 76 52 270
116 2014-06 126 289 92 65 339
121 2014-07 103 235 76 56 277
125 2014-08 146 322 99 67 366
130 2014-09 104 239 82 50 271
134 2014-10 103 228 78 49 266
138 2014-11 123 279 95 57 313
143 2014-12 97 201 68 57 232
147 2015-01 124 224 79 51 266
151 2015-02 110 225 76 54 263
155 2015-03 152 264 95 64 342
160 2015-04 109 212 73 54 286
164 2015-05 132 272 95 66 346
169 2015-06 106 215 77 54 297
173 2015-07 105 227 80 56 282
177 2015-08 144 296 106 70 370
182 2015-09 121 228 82 59 272
186 2015-10 113 227 79 54 274
190 2015-11 146 275 94 60 323
195 2015-12 108 218 73 60 244
199 2016-01 134 283 124 69 343
204 2016-02 109 225 78 52 269
208 2016-03 107 204 74 50 257
212 2016-04 114 214 75 53 280
216 2016-05 139 271 96 66 338
221 2016-06 101 211 72 51 267
225 2016-07 132 275 94 66 348
230 2016-08 118 243 79 54 327
234 2016-09 132 230 83 52 303
238 2016-10 138 292 108 61 332
243 2016-11 106 235 74 47 248
247 2016-12 99 203 67 46 230
251 2017-01 132 297 95 61 325
256 2017-02 101 231 75 52 261
260 2017-03 51 107 37 25 129
如何编码在同一季度添加行,并将日期设置为2014-04,以便将行添加到2014-01.2014-01和2014-03
它会像:
Date Bradford Leeds Exeter Carlisle Bristol
2013-04 395 834 265 169 908
2013-07
2013-10
2013-04至2017-01期间应该有更多数字
非常感谢!!
答案 0 :(得分:2)
你可以使用zoo函数来获得如下四分之一:
library(zoo)
library(dplyr)
as.yearmon(c("2014-01","2014-02","2014-03")) %>% as.yearqtr()
[1] "2014 Q1" "2014 Q1" "2014 Q1"
所以申请这个可以:
添加列Quarter
以保存季度值
分组Quarter
使用summarize_all
或使用summarize_at
df_sums <- df %>%
mutate(Date=as.yearmon(Date)) %>%
mutate(Quarter=zoo::as.yearqtr()) %>%
group_by(Quarter) %>%
summarise_all(sum)