我有这样一个数据帧:表本周至今
> df
week month year x
1 1-7 sep 2013 566
2 8-14 sep 2013 65
3 15-21 sep 2013 144
4 22-28 sep 2013 455
5 29-30 sep 2013 1212
而且需要将其转换为:
> df_out
date x
1 01/09/2013 80.86
2 02/09/2013 80.86
3 03/09/2013 80.86
4 04/09/2013 80.86
5 05/09/2013 80.86
6 06/09/2013 80.86
7 07/09/2013 80.86
8 08/09/2013 9.29
9 09/09/2013 9.29
10 10/09/2013 9.29
11 11/09/2013 9.29
12 12/09/2013 9.29
13 13/09/2013 9.29
14 14/09/2013 9.29
说明:2013年9月的1-7周有566台X。我想要构建一个时间序列,为每周的每一天(从2013-09-01到2013-09-07)提供单位,等于566/7。
注意可能是一排(如我的df第5行),我们只有2天。因此,2013-09-29的值x将是1212/2 = 606
我试图在Excel中执行此操作,构建每行df的开始日期和结束日期。这是由“ - ”分裂周列和构建日期列。我可以在R中完成,但然后我卡住了。
数据:
df <- structure(list(week = c("1-7", "8-14", "15-21", "22-28", "29-30"
), month = c("sep", "sep", "sep", "sep", "sep"), year = c(2013L,
2013L, 2013L, 2013L, 2013L), x = c(566L, 65L, 144L, 455L, 1212L
)), .Names = c("week", "month", "year", "x"), class = "data.frame", row.names = c(NA,
-5L))
是你的日期是否正确?它们不应该相差7天而不是1天吗?例如,不是01/09/2013 80.86 02/09/2013 80.86但是01/09/2013 80.86 ** 08 **/09/2013 80.86等... – user1945827
否,可以。请参阅@ Robert的答案 –
顺便说一句,我也制作了一个Excel解决方案。我会找到一个时间在这里发布它 –