Especificando uma ordem com `parse_date_time()`
E se você tiver algo em uma ordem bem estranha, como dym_msh? Não existe uma função nomeada só para essa ordem, e é aí que entra parse_date_time(). parse_date_time() recebe um argumento adicional, orders, no qual você especifica a ordem dos componentes da data.
Por exemplo, para fazer o parsing de "2010 September 20th", você poderia usar parse_date_time("2010 September 20th", orders = "ymd"), o que seria equivalente a usar a função ymd() do exercício anterior.
Uma vantagem do parse_date_time() é que você pode usar mais caracteres de formatação. Por exemplo, você pode especificar nomes de dias da semana com A, I para hora no formato de 12 horas, indicadores am/pm com p, entre muitos outros. Você encontra a lista completa na página de ajuda ?parse_date_time.
Outra grande vantagem é poder especificar um vetor de ordens, o que permite fazer parsing de datas em que vários formatos podem aparecer.
Você vai testar isso neste exercício.
Este exercício faz parte do curso
Trabalhando com datas e horários no R
Instruções do exercício
xé um datetime mais difícil. Use as pistas nas instruções para fazer o parsing dex.two_orderstem duas ordens diferentes; faça o parsing de ambas especificando a ordem comoc("mdy", "dmy").- Faça o parsing de
short_datescomorders = c("dOmY", "OmY", "Y"). O que acontece com as datas que não têm mês ou dia especificados?
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Specify an order string to parse x
x <- "Monday June 1st 2010 at 4pm"
___(x, orders = "___")
# Specify order to include both "mdy" and "dmy"
two_orders <- c("October 7, 2001", "October 13, 2002", "April 13, 2003",
"17 April 2005", "23 April 2017")
parse_date_time(two_orders, orders = ___)
# Specify order to include "dOmY", "OmY" and "Y"
short_dates <- c("11 December 1282", "May 1372", "1253")
parse_date_time(short_dates, orders = ___)