我有一个包含日期的列的数据集。我想找到那些date
值的周开始日期。
我使用week
中的lubridate
函数获取周数。
例如,
week(as.Date("04/20/2017", "%m/%d/%Y"))
#Solution
[1] 16
而不是weeknum
,有没有办法获得一周的开始日期?在这种情况下,我期待" 04/16/2017 2017"或" 04/17/2017"。如果周从周日或周一开始,我不是特别的。
我查看了this问题,但没有从中得到很多。
答案 0 :(得分:9)
使用floor_date
功能。
floor_date(as.Date("04/20/2017", "%m/%d/%Y"), unit="week")
答案 1 :(得分:8)
您可以在下面使用
as.Date(format(as.Date("04/20/2017", "%m/%d/%Y"),"%Y-%W-1"),"%Y-%W-%u")
[1] "2017-04-17"