我正在将包含周数的列添加到包含日历(天数列表)的数据框中。已使用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%可再生。
答案 0 :(得分:2)
感谢评论,找到了答案:
Calendar$WkNumber <- as.numeric(strftime(Calendar$DateTime,format="%W"))+1