DF有周末日期。
df <- data.frame(Date=seq(as.Date("2014-01-03"), as.Date("2020-12-25"), by="week"))
df$week <- seq(nrow(df))
df <- df[, c("week", "Date")]
head(df)
#> week Date
#> 1 1 2014-01-03
#> 2 2 2014-01-10
#> 3 3 2014-01-17
#> 4 4 2014-01-24
#> 5 5 2014-01-31
#> 6 6 2014-02-07
tail(df)
#> week Date
#> 360 360 2020-11-20
#> 361 361 2020-11-27
#> 362 362 2020-12-04
#> 363 363 2020-12-11
#> 364 364 2020-12-18
#> 365 365 2020-12-25
我需要各自的新年假人。例如,2018-01-05将为Ney_Year dummy设置虚拟值1。
答案 0 :(得分:1)
您可以使用lag
lubridate::year()
来跟踪年度变化
library(lubridate)
library(dplyr) # for lag()
df$NewYear <- ifelse(is.na(lag(df$Date)) | year(lag(df$Date))!=year(df$Date), 1, 0)