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)%b
Mê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 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 adate1
,date2
edate3
, respectivamente. O código paradate1
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")