Créer et formater des dates
Pour créer un objet Date à partir d’une simple chaîne de caractères en R, vous pouvez utiliser la fonction as.Date(). La chaîne doit respecter un format défini à l’aide d’un ensemble de symboles (les exemples correspondent au 13 janvier 1982) :
%Y: année sur 4 chiffres (1982)%y: année sur 2 chiffres (82)%m: mois sur 2 chiffres (01)%d: jour du mois sur 2 chiffres (13)%A: jour de la semaine (Wednesday)%a: jour de la semaine abrégé (Wed)%B: mois (January)%b: mois abrégé (Jan)
Les commandes R suivantes créeront toutes le même objet Date pour le 13 janvier 1982 :
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
Remarquez que la première ligne n’a pas besoin d’un argument de format, car par défaut R fait correspondre votre chaîne aux formats "%Y-%m-%d" ou "%Y/%m/%d".
En plus de créer des dates, vous pouvez aussi convertir des dates en chaînes de caractères utilisant une autre notation de date. Pour cela, utilisez la fonction format(). Essayez les lignes de code suivantes :
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Aujourd’hui est un %A !")
Cet exercice fait partie du cours
R niveau intermédiaire
Instructions
- Trois chaînes de caractères représentant des dates ont été créées pour vous. Convertissez-les en dates avec
as.Date()et attribuez-les respectivement àdate1,date2etdate3. Le code pourdate1est déjà fourni. - Extrayez des informations utiles des dates sous forme de chaînes de caractères avec
format(). À partir de la première date, sélectionnez le jour de la semaine. À partir de la deuxième, sélectionnez le jour du mois. À partir de la troisième, sélectionnez le mois abrégé et l’année sur 4 chiffres, séparés par un espace.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"
# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")
# Convert dates to formatted strings
format(date1, "%A")