Como extrair o ano da data em r (com exemplos)


Existem duas maneiras de extrair rapidamente o ano de uma data em R:

Método 1: use formato()

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

Método 2: Use o pacote de lubrificação

 library (lubridate)

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

Este tutorial mostra um exemplo de como usar cada um desses métodos na prática.

Método 1: extrair o ano da data usando format()

O código a seguir mostra como extrair o ano de uma data usando a função format() combinada com o argumento “%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

        dirty dates
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

Observe que esta função format() funciona com vários formatos de data. Você simplesmente precisa especificar o formato:

 #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 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

Método 2: Extrair ano a partir da data usando Lubridate

Também podemos usar funções no pacote lubridate para extrair rapidamente o ano de uma data:

 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 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 também funciona com uma variedade de formatos de data. Você simplesmente precisa especificar o formato:

 #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 dates
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

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como iterar sobre nomes de colunas em R
Como remover outliers de múltiplas colunas em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *