使用strftime(R)创建周数

时间:2016-04-30 17:13:51

标签: r calendar time-series

我正在将包含周数的列添加到包含日历(天数列表)的数据框中。已使用strftime。它工作但周计数从第0周开始。它应该从第1周开始,所以我试图在周数列上的每个元素上加1。我收到错误消息“日历中的错误$ WkNumber + 1:二进制运算符的非数字参数”。我怎么能消除这个错误?谢谢!

#Make daily time sequence with Time & DayWk columns 
Calendar <- as.data.frame(seq(as.Date("2016/1/1"), as.Date("2016/1/20"), "days"))
colnames(Calendar) <- "DateTime"
Calendar$WkNumber <- strftime(Calendar$DateTime,format="%W") 
Calendar$WkNumber <- Calendar$WkNumber + 1    #=> this line produces error

#Output for Calendar:
  DateTime      WkNumber
  1  2016-01-01       00
  2  2016-01-02       00
  3  2016-01-03       00
  4  2016-01-04       01
  5  2016-01-05       01
  6  2016-01-06       01
  7  2016-01-07       01
  8  2016-01-08       01
  9  2016-01-09       01
  10 2016-01-10       01
  11 2016-01-11       02
  12 2016-01-12       02
  13 2016-01-13       02
  14 2016-01-14       02
  15 2016-01-15       02
  16 2016-01-16       02
  17 2016-01-17       02
  18 2016-01-18       03
  19 2016-01-19       03
  20 2016-01-20       03

编辑:问题是100%可再生。

1 个答案:

答案 0 :(得分:2)

感谢评论,找到了答案:

Calendar$WkNumber <- as.numeric(strftime(Calendar$DateTime,format="%W"))+1