Як виділити місяць із дати в r (з прикладами)


Є два способи швидко витягти місяць із дати в R:

Спосіб 1: Використовуйте format()

 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *