我有一个数据集,其中包含从01/01/2015
到01/01/2017
(dd/mm/yyyy)
的一系列时间戳。我想将它转换为周(即)01/01/2015
第0周,08/01/2015
成为第1周... 01/01/2017
应该成为第104周(或者这个数字左右)。
我尝试了以下方法
> sD
"2016-04-13 05:30:00 IST" "2017-04-10 05:30:00 IST"
> format(as.Date(sD,format = guess_formats(sD,c('dmy'))), "%W")
"15" "15"
这里的日期相同,但不同的年份我会得到相同的一周。我也需要输出随年份的变化。如何做到这一点?
答案 0 :(得分:2)
只需区分并将单位指定为周:
x <- as.Date(c("2015-01-01","2015-01-08","2017-01-01"))
difftime(x, as.Date("2015-01-01"), units="weeks")
#Time differences in weeks
#[1] 0.0000 1.0000 104.4286