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.

Add a Comment

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