Как извлечь месяц из даты в r (с примерами)
Есть два способа быстро извлечь месяц из даты в R:
Способ 1: используйте формат()
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")
Способ 2. Используйте пакет смазки.
library (lubridate) df$month <- month( mdy (df$date))
В этом руководстве показан пример использования каждого из этих методов на практике.
Метод 1: извлечь месяц из даты с помощью format()
Следующий код показывает, как извлечь месяц из даты с помощью функции format() в сочетании с аргументом «%m» :
#create data frame df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty date 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains month df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ") #view updated data frame df date sales month 1 01/01/2021 34 01 2 01/04/2021 36 04 3 01/09/2021 44 09
Обратите внимание, что эта функция format() работает с различными форматами дат. Вам просто нужно указать формат:
#create data frame df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty date 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains month df$month<- format( as.Date (df$date, format=" %Y-%m-%d ")," %m ") #view updated data frame df date sales month 1 2021-01-01 34 01 2 2021-01-04 36 01 3 2021-01-09 44 01
Примечание . Вы также можете использовать %B для извлечения месяца в виде строкового имени (январь) вместо числового значения (01).
Метод 2. Извлеките месяц из даты с помощью Lubridate.
Мы также можем использовать функции пакета lubridate, чтобы быстро извлечь месяц из даты:
library (lubridate) #create data frame df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty dates 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains month df$month<- month( mdy (df$date)) #view updated data frame df date sales month 1 01/01/2021 34 1 2 01/04/2021 36 1 3 01/09/2021 44 1
Lubridate также работает с различными форматами дат. Вам просто нужно указать формат:
#create data frame df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty date 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains month df$month <- month( ymd (df$date)) #view updated data frame df date sales month 1 2021-01-01 34 1 2 2021-01-04 36 1 3 2021-01-09 44 1
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как извлечь год из даты в R
Как посчитать количество месяцев между датами в R