i have the date variable.
using that i need to create one more variable like status(workingday and holiday).
which means that every Sunday, 2nd and 4th saturdays would be holidays.
5/29/2019
4
Wednesday
workingday
5/30/2019
5
Thursday
workingday
5/31/2019
6
Friday
workingday
6/1/2019
7
Saturday
workingday
6/2/2019
1
Sunday
holiday
6/3/2019
2
Monday
workingday
Please help me in this guys.
thanks
FJCC
May 30, 2019, 1:52pm
2
Here is one possibility:
library(lubridate)
#>
#> Attaching package: 'lubridate'
#> The following object is masked from 'package:base':
#>
#> date
suppressPackageStartupMessages(library(dplyr))
df <- data.frame(Date = seq.Date(ymd("2019-01-01"), ymd("2019-12-31"), 1))
df <- df %>% mutate(DayName = wday(Date, label = TRUE), DayNum = wday(Date))
head(df)
#> Date DayName DayNum
#> 1 2019-01-01 Tue 3
#> 2 2019-01-02 Wed 4
#> 3 2019-01-03 Thu 5
#> 4 2019-01-04 Fri 6
#> 5 2019-01-05 Sat 7
#> 6 2019-01-06 Sun 1
df <- df %>% mutate(Workday = ifelse(DayNum == 1 |
(DayNum == 7 & mday(Date) %in% c(8:14, 22:28)),
"Holiday", "Workday"))
head(df)
#> Date DayName DayNum Workday
#> 1 2019-01-01 Tue 3 Workday
#> 2 2019-01-02 Wed 4 Workday
#> 3 2019-01-03 Thu 5 Workday
#> 4 2019-01-04 Fri 6 Workday
#> 5 2019-01-05 Sat 7 Workday
#> 6 2019-01-06 Sun 1 Holiday
filter(df, Workday == "Holiday", DayNum == 7) #Show Sat. that are Holiday
#> Date DayName DayNum Workday
#> 1 2019-01-12 Sat 7 Holiday
#> 2 2019-01-26 Sat 7 Holiday
#> 3 2019-02-09 Sat 7 Holiday
#> 4 2019-02-23 Sat 7 Holiday
#> 5 2019-03-09 Sat 7 Holiday
#> 6 2019-03-23 Sat 7 Holiday
#> 7 2019-04-13 Sat 7 Holiday
#> 8 2019-04-27 Sat 7 Holiday
#> 9 2019-05-11 Sat 7 Holiday
#> 10 2019-05-25 Sat 7 Holiday
#> 11 2019-06-08 Sat 7 Holiday
#> 12 2019-06-22 Sat 7 Holiday
#> 13 2019-07-13 Sat 7 Holiday
#> 14 2019-07-27 Sat 7 Holiday
#> 15 2019-08-10 Sat 7 Holiday
#> 16 2019-08-24 Sat 7 Holiday
#> 17 2019-09-14 Sat 7 Holiday
#> 18 2019-09-28 Sat 7 Holiday
#> 19 2019-10-12 Sat 7 Holiday
#> 20 2019-10-26 Sat 7 Holiday
#> 21 2019-11-09 Sat 7 Holiday
#> 22 2019-11-23 Sat 7 Holiday
#> 23 2019-12-14 Sat 7 Holiday
#> 24 2019-12-28 Sat 7 Holiday
Created on 2019-05-30 by the reprex package (v0.2.1)
system
Closed
June 20, 2019, 1:53pm
3
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.