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
Instruções do exercício
- Três cadeias de caracteres que representam datas foram criadas para você. Converta-as em datas usando
as.Date()e atribua-as adate1,date2edate3, respectivamente. O código paradate1já 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 completando 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")