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