Comment utiliser les fonctions strptime et strftime dans R



Vous pouvez utiliser les fonctions strptime et strftime dans R pour convertir entre les objets caractère et temporel.

La fonction strptime convertit les caractères en objets temporels et utilise la syntaxe de base suivante :

strptime(character_object, format="%Y-%m-%d")

La fonction strftime convertit les objets temporels en caractères et utilise la syntaxe de base suivante :

strftime(time_object)

Les exemples suivants montrent comment utiliser chaque fonction dans la pratique.

Exemple 1 : utiliser la fonction strptime dans R

Supposons que nous ayons le vecteur de caractères suivant dans R :

#create character vector
char_data <- c("2022-01-01", "2022-01-25", "2022-02-14", "2022-03-19")

#view class of vector
class(char_data)

[1] "character"

Nous pouvons utiliser la fonction strptime pour convertir les caractères en objets temporels :

#convert characters to time objects
time_data <- strptime(char_data, format="%Y-%m-%d")

#view new vector
time_data

[1] "2022-01-01 UTC" "2022-01-25 UTC" "2022-02-14 UTC" "2022-03-19 UTC"

#view class of new vector
class(time_data)

[1] "POSIXlt" "POSIXt"

On peut voir que les personnages ont été convertis en objets temporels.

Notez que nous pouvons également utiliser l’argument tz pour convertir les caractères en objets horaires avec un fuseau horaire spécifique.

Par exemple, nous pourrions spécifier « EST » pour convertir les caractères en objets horaires dans le fuseau horaire de l’Est :

#convert characters to time objects in EST time zone
time_data <- strptime(char_data, format="%Y-%m-%d", tz="EST")

#view new vector
time_data

[1] "2022-01-01 EST" "2022-01-25 EST" "2022-02-14 EST" "2022-03-19 EST"

Notez que chacun des objets horaires se termine désormais par EST , ce qui indique un fuseau horaire de l’Est.

Exemple 2 : utiliser la fonction strftime dans R

Supposons que nous ayons le vecteur d’objets temporels suivant dans R :

#create vector of time objects
time_data <- as.POSIXct(c("2022-01-01", "2022-01-25", "2022-02-14"))

#view class of vector
class(time_data)

[1] "POSIXct" "POSIXt"

Nous pouvons utiliser la fonction strftime pour convertir les objets time en caractères :

#convert time objects to characters
char_data <- strftime(time_data)

#view new vector
char_data

[1] "2022-01-01" "2022-01-25" "2022-02-14"

#view class of new vector
class(char_data)

[1] "character"

On voit que les objets temporels ont été convertis en caractères.

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :

Comment utiliser la fonction tabulate() dans R
Comment utiliser la fonction split() dans R
Comment utiliser la fonction match() dans R
Comment utiliser la fonction replicate() dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *