Вы можете использовать следующие функции из пакета lubridate в R, чтобы быстро найти день недели:
Метод 1: найти числовой день недели (при условии, что неделя начинается в воскресенье)
wday(df$date_column)
Метод 2: найти числовой день недели (при условии, что неделя начинается в понедельник)
wday(df$date_column, week_start= 1 )
Способ 3: найти день недели персонажа (используя сокращенные метки)
wday(df$date_column, label= TRUE )
Метод 4: найти день недели персонажа (используя полные метки дня недели)
wday(df$date_column, label= TRUE , abbr= FALSE )
В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных:
library (lubridate)
#create data frame
df <- data.frame(date=c('2020-10-11', '2020-10-19', '2020-10-31'),
sales=c(435, 768, 945))
#view data frame
df
date sales
1 2020-10-11 435
2 2020-10-19 768
3 2020-10-31 945
Метод 1: найти числовой день недели (при условии, что неделя начинается в воскресенье)
В следующем коде показано, как найти числовой день недели значений в столбце «дата»:
#find day of week
df$weekday <- wday(df$date)
#view updated data frame
df
date sales weekday
1 2020-10-11 435 1
2 2020-10-19 768 2
3 2020-10-31 945 7
Обратите внимание, что 1 указывает на воскресенье, 2 — на понедельник и так далее.
Метод 2: найти числовой день недели (при условии, что неделя начинается в понедельник)
В следующем коде показано, как найти числовой день недели (при условии, что неделя начинается в понедельник) значений в столбце «дата»:
#find day of week
df$weekday <- wday(df$date, week_start= 1 )
#view updated data frame
df
date sales weekday
1 2020-10-11 435 7
2 2020-10-19 768 1
3 2020-10-31 945 6
В этом сценарии 1 указывает на понедельник, 2 — на вторник и так далее.
Способ 3: найти день недели персонажа (используя сокращенные метки)
В следующем коде показано, как найти сокращенный символ дня недели значений в столбце «дата»:
#find day of week
df$weekday <- wday(df$date, label= TRUE )
#view updated data frame
df
date sales weekday
1 2020-10-11 435 Sun
2 2020-10-19 768 Mon
3 2020-10-31 945 Sat
Метод 4: найти день недели персонажа (используя полные метки дня недели)
В следующем коде показано, как найти символ дня недели (используя полные метки дня недели) значений в столбце «дата»:
#find day of week
df$weekday <- wday(df$date, label= TRUE , abbr= FALSE )
#view updated data frame
df
date sales weekday
1 2020-10-11 435 Sunday
2 2020-10-19 768 Monday
3 2020-10-31 945 Saturday
Примечание.Полную документацию по функции lubridate wday() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции с датами в R:
Как извлечь год из даты в R
Как преобразовать дату в число в R
Как отсортировать фрейм данных по дате в R
Как объединить ежедневные данные в ежемесячные и ежегодные в R