Мы можем использовать weekdays
, чтобы получить день недели и поместить его в кадр данных.
data.frame(dates, day = weekdays(dates))
# dates day
#1 2018-01-01 Monday
#2 2018-01-02 Tuesday
#3 2018-01-03 Wednesday
#4 2018-05-30 Wednesday
#5 2018-06-01 Friday
РЕДАКТИРОВАТЬ
Если мы не хотимчтобы использовать любую встроенную функцию, мы можем создать вектор дней и поиск оттуда.Учитывая, что первый день - «понедельник», мы можем использовать оператор по модулю, чтобы найти соответствующий день для отдыха dates
days <- c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
day <- days[(as.numeric(dates - dates[1]) %% 7) + 1]
day
#[1] "Monday" "Tuesday" "Wednesday" "Wednesday" "Friday"
, а затем поместить их в фрейм данных
data.frame(dates, day)
# dates day
#1 2018-01-01 Monday
#2 2018-01-02 Tuesday
#3 2018-01-03 Wednesday
#4 2018-05-30 Wednesday
#5 2018-06-01 Friday
данные
dates<-as.Date(c("2018-01-01","2018-01-02","2018-01-03","2018-05-30","2018-06-01"))