CommencerCommencer gratuitement

Spécifier un ordre avec `parse_date_time()`

Et si vos données suivaient un ordre vraiment inhabituel comme dym_msh ? Il n’existe pas de fonction dédiée à cet ordre précis, et c’est là que parse_date_time() intervient. parse_date_time() accepte un argument supplémentaire, orders, qui permet d’indiquer l’ordre des composantes de la date.

Par exemple, pour analyser "2010 September 20th", vous pouvez écrire parse_date_time("2010 September 20th", orders = "ymd"), ce qui revient à utiliser la fonction ymd() de l’exercice précédent.

Un avantage de parse_date_time() est que vous pouvez utiliser davantage de caractères de format. Par exemple, vous pouvez indiquer les noms de jours avec A, utiliser I pour l’heure au format 12 h, p pour les indicateurs am/pm, et bien d’autres. Vous trouverez la liste complète dans l’aide ?parse_date_time.

Autre avantage majeur : vous pouvez fournir un vecteur d’ordres, ce qui permet d’analyser des dates présentes dans plusieurs formats différents.

Vous allez l’essayer dans cet exercice.

Cet exercice fait partie du cours

Travailler avec les dates et heures en R

Afficher le cours

Instructions

  • x est un datetime plus délicat. Servez-vous des indices des instructions pour analyser x.
  • two_orders comporte deux ordres différents ; analysez les deux en indiquant orders = c("mdy", "dmy").
  • Analysez short_dates avec orders = c("dOmY", "OmY", "Y"). Que se passe-t-il pour les dates sans mois ni jour spécifiés ?

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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 = ___)
Modifier et exécuter le code