Créer et formater des dates
Pour créer un objet Date
à partir d'une simple chaîne de caractères dans R, vous pouvez utiliser la fonction as.Date()
fonction. La chaîne de caractères doit respecter un format qui peut être défini à l'aide d'un ensemble de symboles (les exemples correspondent au 13 janvier 1982) :
%Y
: Année à 4 chiffres (1982)%y
: Année à 2 chiffres (82)%m
: Mois à 2 chiffres (01)%d
: Jour du mois à 2 chiffres (13)%A
: jour de la semaine (mercredi)%a
: jour de semaine abrégé (mer)%B
mois (janvier)%b
mois abrégé (Jan)
Les commandes R suivantes créeront toutes le même objet Date
pour le 13e jour de 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'avait pas besoin d'un argument de format, car par défaut R fait correspondre votre chaîne de caractères aux formats "%Y-%m-%d"
ou "%Y/%m/%d"
.
Outre la création de dates, vous pouvez également convertir des dates en chaînes de caractères utilisant une notation différente. Pour cela, vous utilisez la fonction format()
fonction. Essayez les lignes de code suivantes :
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
Cet exercice fait partie du cours
Intermédiaire R
Instructions
- Trois chaînes de caractères représentant des dates ont été créées pour vous. Convertissez-les en dates à l'aide de
as.Date()
et les assigner respectivement àdate1
,date2
etdate3
. Le code pourdate1
est déjà inclus. - Extrayez des informations utiles des dates sous forme de chaînes de caractères en utilisant
format()
. À partir de la première date, sélectionnez le jour de la semaine. À partir de la deuxième date, sélectionnez le jour du mois. À partir de la troisième date, vous devez sélectionner le mois abrégé et l'année à 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")