Como converter números em datas em r
Muitas vezes você pode precisar converter números para o formato de data em R. A maneira mais fácil de fazer isso é usar o pacote lubridate , que possui várias funções úteis para lidar com datas em R.
Este tutorial fornece vários exemplos de como usar essas funções na prática.
Exemplo 1: Converter números inteiros em datas
O código a seguir mostra como converter uma coluna de valores inteiros em um quadro de dados para um formato de data usando a função ymd() :
library (lubridate) #create data frame df <- data.frame(date = c(20201022, 20201023, 20201026, 20201027, 20201028), sales = c(4, 7, 8, 9, 12)) #convert date column from numeric to year-month-date format df$date <- ymd (df$date) #view data frame df dirty date 1 2020-10-22 4 2 2020-10-23 7 3 2020-10-26 8 4 2020-10-27 9 5 2020-10-28 12 #view class of date column class (df$date) [1] “Date”
Observe que o pacote lubridate possui diversas funções para lidar com diferentes formatos de data.
Por exemplo, o seguinte mostra como converter uma coluna de valores inteiros em um quadro de dados para um formato de data usando a função ydm() :
library (lubridate) #create data frame df <- data.frame(date = c(20202210, 20202310, 20202610, 20202710, 20202810), sales = c(4, 7, 8, 9, 12)) #convert date column from numeric to year-month-date format df$date <- ydm (df$date) #view data frame df dirty date 1 2020-10-22 4 2 2020-10-23 7 3 2020-10-26 8 4 2020-10-27 9 5 2020-10-28 12 #view class of date column class (df$date) [1] “Date”
Exemplo 2: Converter meses e anos em datas
O código a seguir mostra como converter uma coluna de valores numéricos que representa o número de meses desde 1º de janeiro de 2010 para um formato de data usando a função meses() :
library (lubridate) #create data frame df <- data.frame(date = c(11, 15, 18, 22, 24), sales = c(4, 7, 8, 9, 12)) #convert date column from numeric to year-month-date format df$date <- as. Date (' 2010-01-01 ') + months (df$date) #view data frame df dirty date 1 2010-12-01 4 2 2011-04-01 7 3 2011-07-01 8 4 2011-11-01 9 5 2012-01-01 12 #view class of date column class (df$date) [1] “Date”
E o código a seguir mostra como converter uma coluna de valores numéricos que representa o número de anos desde 1º de janeiro de 2010 para um formato de data usando a função Years() :
library (lubridate) #create data frame df <- data.frame(date = c(11, 15, 18, 22, 24), sales = c(4, 7, 8, 9, 12)) #convert date column from numeric to year-month-date format df$date <- as. Date (' 2010-01-01 ') + years (df$date) #view data frame df dirty dates 1 2021-01-01 4 2 2025-01-01 7 3 2028-01-01 8 4 2032-01-01 9 5 2034-01-01 12 #view class of date column class (df$date) [1] “Date”
Bônus: Consulte esta folha de dicas para entender melhor os recursos disponíveis no pacote Lubridate.