Как извлечь месяц из даты в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *