Como converter strings em datas em r (com exemplos)


Freqüentemente, quando você importa dados de data e hora para R, os valores serão importados como strings.

A maneira mais fácil de converter strings em datas em R é usar a função as.Date() , que usa a seguinte sintaxe:

like.Date(x, formato)

Ouro:

  • x: Um único valor de string ou vetor de valores de string.
  • format: O formato a ser usado para a data. O padrão é AAAA-MM-DD.

Você pode usar o comando ?strftime em R para exibir uma lista completa de argumentos disponíveis para usar no formato de data, mas os mais comuns incluem:

  • %d: Dia do mês como número decimal (01-31)
  • %m: Mês como número decimal (01-12)
  • %y: Ano sem século (por exemplo 04)
  • %Y: Ano com século (por exemplo 2004)

Este tutorial mostra vários exemplos de uso prático da função as.Date() .

Exemplo 1: Converter uma única string em uma data

O código a seguir mostra como converter um único valor de string em uma data:

 #create string value
x <- c(" 2021-07-24 ")

#convert string to date
new <- as.Date(x, format=" %Y-%m-%d ")
new

[1] "2021-07-24"

#check class of new variable
class(new)

[1] “Date”

Exemplo 2: Converter um vetor de strings em datas

O código a seguir mostra como converter um vetor de strings em datas:

 #create vector of strings
x <- c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 ")

#convert string to date
new <- as.Date(x, format=" %Y-%m-%d ")
new

[1] "2021-07-24" "2021-07-26" "2021-07-30"

#check class of new variable
class(new)

[1] “Date”

Exemplo 3: Converter uma coluna de quadro de dados em datas

O código a seguir mostra como converter uma coluna de blockchains de dados em datas:

 #create data frame
df <- data.frame(day = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "),
                 sales=c(22, 25, 28),
                 products=c(3, 6, 7))

#view structure of data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $ day: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3
 $ sales: num 22 25 28
 $products: num 3 6 7

#convert day variable to date
df$day <- as.Date(df$day, format=" %Y-%m-%d ")

#view structure of new data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $day: Date, format: "2021-07-24" "2021-07-26" ...
 $ sales: num 22 25 28
 $products: num 3 6 7

Exemplo 4: converter várias colunas de quadro de data em datas

O código a seguir mostra como converter múltiplas colunas de blockchains de dados em datas:

 #create data frame
df <- data.frame(start = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "),
                 end = c(" 2021-07-25 ", " 2021-07-28 ", " 2021-08-02 "),
                 products=c(3, 6, 7))

#view structure of data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $ start: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3
 $ end: Factor w/ 3 levels "2021-07-25","2021-07-28",..: 1 2 3
 $products: num 3 6 7

#convert start and end variables to date
df[,c(' start ', ' end ')] = lapply (df[,c(' start ', ' end ')],
                                function(x) as.Date(x, format=" %Y-%m-%d "))

#view structure of new data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $start: Date, format: "2021-07-24" "2021-07-26" ...
 $end: Date, format: "2021-07-25" "2021-07-28" ...
 $products: num 3 6 7

Você pode aprender mais sobre a função lapply() usada neste exemplo aqui .

Recursos adicionais

Os tutoriais a seguir oferecem informações adicionais sobre como trabalhar com datas em R:

O guia completo para formatos de data em R
Como classificar um dataframe por data em R
Como extrair o ano da data em R

Add a Comment

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