我目前有以下数据;
> head(total)
ID WEEK QTY SHOP EUR KEY COL
1: 1123539 1147 1 GR 2.39 652159 10090100003
2: 3102228 1129 1 GR 2.15 257871 10090100003
3: 3321265 1129 1 GR 2.15 257871 10090100003
4: 3321265 1122 1 GR 2.15 257871 10090100004
5: 1120774 1151 1 GR 2.39 213290 10090100005
6: 1145763 1157 1 GR 2.39 213290 10090100005
> tail(total)
ID WEEK QTY SHOP EUR KEY COL
1: 1133538 1728 1 GK 3.19 9999879 825277200104
2: 1133538 1728 1 GK 3.19 9999879 825277200104
3: 1141960 1691 1 GK 3.29 9999879 825277200104
4: 1302364 1729 1 GK 3.19 9999879 825277200104
5: 1808485 1714 1 GK 3.29 9999879 825277200104
6: 1808485 1720 1 GK 3.19 9999879 825277200104
我正在尝试为WEEK列分配日期。
数据从WEEK 1114
开始,这是01/01/2001
(据我的计算而言)
数据在WEEK 24/12/2017
- 30/12/2017
结束
周翻译定义如下(excel计算);
在括号中,我将公式粘贴到Excel工作表中。
A B C
Week starting on ending on
1479 Dec 31, 200 (=(A2+4157)*7-5) Jan 6, 2008 (=(A2+4157)*7+1)
1480 Jan 7, 2008 Jan 13, 2008
1481 Jan 14, 2008 Jan 20, 2008
1482 Jan 21, 2008 Jan 27, 2008
Sys Start date WEEK
septiembre 3, 1979 (03/09/1979) 1 (=ROUND((E2+2)/7;0)-4157)
在R我试图将qazxsw poi编号设置为一周的开始日期
所以例如WEEK
应该对应日期WEEK 1147
到August 20, 2001
任何帮助将不胜感激。
我试图将数据设置为时间序列,我在一年的时间内取得了成功但不是多年(感谢August 26, 2001
的帮助)。
Aurélien
library(lubridate)
inds <- seq(as.Date("2001-01-01"), as.Date("2012-12-30"), by = "week")
set.seed(25)
w <- lubridate::week(ymd("2001-01-01","2012-12-30"))
y <- lubridate::year(ymd("2001-01-01","2012-12-30"))
myts <- ts(total$WEEK,
start = c(y[1],w[1]),
end = c(y[2],w[2]),
frequency = 52)