Zacznij terazZacznij za darmo

Określanie kolejności za pomocą `parse_date_time()`

Co zrobić, gdy dane mają naprawdę niestandardową kolejność, np. dym_msh? Nie istnieje dedykowana funkcja dla takiego formatu – właśnie tutaj przydaje się parse_date_time(). Funkcja ta przyjmuje dodatkowy argument orders, w którym możesz określić kolejność składowych daty.

Na przykład, aby przetworzyć "2010 September 20th", możesz użyć parse_date_time("2010 September 20th", orders = "ymd") – będzie to równoważne wywołaniu funkcji ymd() z poprzedniego ćwiczenia.

Jedną z zalet parse_date_time() jest obsługa szerszego zestawu znaków formatu. Możesz na przykład wskazać nazwy dni tygodnia za pomocą A, godziny w formacie 12-godzinnym za pomocą I, wskaźnik am/pm za pomocą p i wiele innych. Pełną listę znajdziesz na stronie pomocy ?parse_date_time.

Kolejną ważną zaletą jest możliwość podania wektora formatów – pozwala to przetwarzać daty zapisane w kilku różnych formatach jednocześnie.

Wypróbuj to w tym ćwiczeniu.

To ćwiczenie jest częścią kursu

Praca z datami i czasem w R

Zobacz kurs

Instrukcje do ćwiczenia

  • x to bardziej złożony obiekt datetime. Skorzystaj z podpowiedzi w instrukcjach, aby przetworzyć x.
  • two_orders zawiera daty w dwóch różnych formatach – przetwórz je, podając argument c("mdy", "dmy").
  • Przetwórz short_dates, używając orders = c("dOmY", "OmY", "Y"). Co dzieje się z datami, w których nie podano miesiąca ani dnia?

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 = ___)
Edytuj i uruchom kod