Criar e formatar datas

Para criar um objeto Date a partir de uma cadeia de caracteres simples no R, você pode usar a função as.Date(). A cadeia de caracteres deve obedecer a um formato que pode ser definido usando um conjunto de símbolos (os exemplos correspondem a 13 de janeiro de 1982):

  • %Y: Ano com 4 dígitos (1982)
  • %y: Ano com 2 dígitos (82)
  • %m: Mês de 2 dígitos (01)
  • %d: Dia do mês com 2 dígitos (13)
  • %A: dia da semana (quarta-feira)
  • %a: dia da semana abreviado (Qua)
  • %B: mês (janeiro)
  • %bMês: mês abreviado (Jan)

Os comandos do R a seguir criarão o mesmo objeto Date para o 13º dia de janeiro de 1982:

as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")

Observe que a primeira linha aqui não precisava de um argumento de formato, pois, por padrão, o R faz a correspondência da cadeia de caracteres com os formatos "%Y-%m-%d" ou "%Y/%m/%d".

Além de criar datas, você também pode converter datas em cadeias de caracteres que usam uma notação de data diferente. Para isso, você usa a função format(). Experimente as seguintes linhas de código:

today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")

Este exercício faz parte do curso

R intermediário

Ver Curso

Instruções de exercício

  • Três cadeias de caracteres que representam datas foram criadas para você. Converta-as em datas usando as.Date() e atribua-as a date1, date2 e date3, respectivamente. O código para date1 já está incluído.
  • Extraia informações úteis das datas como cadeias de caracteres usando format(). A partir da primeira data, selecione o dia da semana. Na segunda data, selecione o dia do mês. Na terceira data, você deve selecionar o mês abreviado e o ano de 4 dígitos, separados por um espaço.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"

# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")



# Convert dates to formatted strings
format(date1, "%A")