dates <- NULL
date <- as.Date("01/01/2014","%d/%m/%Y")
dates <- data.frame(date=as.Date(character())
,cal_day_in_year_num = numeric()
,cal_week_id = numeric()
,cal_week_start_date = as.Date(character())
,cal_week_end_date = as.Date(character())
)
for (i in 1:365) {
dates[i,1] <- date + days(i-1) ## date
dates[i,2] <- yday(dates[i,1]) ## cal_day_in_year_num
dates[i,3] <- paste(year(dates[i,1]),sprintf("%02d",week(dates[i,1])),sep="") ## cal_week_id
dates[i,4] <- floor_date(dates[i,1], "week") ## cal_week_start_date
dates[i,5] <- ceiling_date(dates[i,1], "week") ## cal_week_end_date
}
View(dates)
Run Code Online (Sandbox Code Playgroud)
对于给定的日期,我正在尝试使用lubridate函数来计算一周的相应开始和结束日期
我遇到的问题是,每周的第一天是周日,我需要周一 - 有没有人有办法解决这个问题?
R 新手请原谅我,如果术语是关闭的。
我有一个数据框
date val1 val2 val3 val4
1 2016-01-01 8007.59 128739 1573 0
2 2016-01-02 8526.98 142289 1798 0
3 2016-01-03 7720.77 132418 1433 0
4 2016-01-04 6845.67 123710 1280 0
5 2016-01-05 7176.20 126395 1302 0
6 2016-01-06 6125.98 117223 1148 2
7 2016-01-07 6125.16 109752 1119 30
8 2016-01-08 6869.92 107377 1233 24
9 2016-01-09 7289.16 107644 1326 25
10 2016-01-10 7360.92 124131 1330 21
11 2016-01-11 6697.14 112992 1185 26
12 2016-01-12 6418.59 106102 1116 22 …Run Code Online (Sandbox Code Playgroud)