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
<cours>Travailler avec les dates et heures en R</cours>Instructions de l’exercice
xest un datetime plus délicat. Servez-vous des indices des instructions pour analyserx.two_orderscomporte deux ordres différents ; analysez les deux en indiquantorders = c("mdy", "dmy").- Analysez
short_datesavecorders = 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 ce code d’exemple.
# 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 = ___)