Как извлечь год из даты в R (с примерами)


Есть два способа быстро извлечь год из даты в R:

Способ 1: использовать формат()

df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ")

Способ 2: Используйте пакет со смазкой

library (lubridate)

df$year <- year( mdy (df$date))

В этом руководстве показан пример использования каждого из этих методов на практике.

Метод 1: извлечь год из даты с помощью format()

В следующем коде показано, как извлечь год из даты с помощью функции format() в сочетании с аргументом «%Y» :

#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

 date sales
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains year
df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ")

#view new data frame
df

 date sales year
1 01/01/2021 34 2021
2 01/04/2021 36 2021
3 01/09/2021 44 2021

Обратите внимание, что эта функция 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

 date sales
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains year
df$year <- format( as.Date (df$date, format=" %Y-%m-%d ")," %Y ")

#view new data frame
df

 date sales year
1 01/01/2021 34 2021
2 01/04/2021 36 2021
3 01/09/2021 44 2021

Метод 2: извлечь год из даты с помощью смазки

Мы также можем использовать функции из пакета 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

 date sales
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains year
df$year <- year( mdy (df$date))

#view new data frame
df

 date sales year
1 01/01/2021 34 2021
2 01/04/2021 36 2021
3 01/09/2021 44 2021

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

 date sales
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains year
df$year <- year( ymd (df$date))

#view new data frame
df

 date sales year
1 01/01/2021 34 2021
2 01/04/2021 36 2021
3 01/09/2021 44 2021

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как перебрать имена столбцов в R
Как удалить выбросы из нескольких столбцов в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.