Začněte nyníZačněte zdarma

Určení pořadí pomocí `parse_date_time()`

Co kdybys měl/a datum v opravdu neobvyklém pořadí, třeba dym_msh? Pro taková pořadí žádná pojmenovaná funkce neexistuje – a právě tady přichází ke slovu parse_date_time(). Tato funkce přijímá dodatečný argument orders, ve kterém určíš pořadí složek datumu.

Například pro zpracování řetězce "2010 September 20th" můžeš napsat parse_date_time("2010 September 20th", orders = "ymd") – což je ekvivalentní použití funkce ymd() z předchozího cvičení.

Jednou z výhod parse_date_time() je možnost pracovat s více formátovacími znaky. Můžeš například určit název dne v týdnu pomocí A, 12hodinový čas pomocí I, označení dopoledne/odpoledne pomocí p a mnoho dalšího. Celý seznam najdeš na stránce nápovědy ?parse_date_time.

Další velkou výhodou je možnost zadat vektor pořadí – to ti umožní zpracovávat data, která se vyskytují ve více různých formátech.

V tomto cvičení si to vyzkoušíš.

Toto cvičení je součástí kurzu

Práce s daty a časy v R

Zobrazit kurz

Pokyny k cvičení

  • x je složitější datum a čas. Pomocí nápovědy v instrukcích ho zpracuj správnou funkcí.
  • two_orders obsahuje data ve dvou různých formátech – zpracuj obě najednou zadáním orders = c("mdy", "dmy").
  • Zpracuj short_dates s orders = c("dOmY", "OmY", "Y"). Co se stane s daty, u nichž není uveden měsíc nebo den?

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 = ___)
Upravit a spustit kód