Soustraire les heures du temps en R

Les objets temporels du langage de programmation R peuvent être déclarés soit à l’aide de la classe POSIXct, qui offre une manipulation et un stockage rapides de ces objets. Les packages externes dans R aident également à travailler avec l’heure et les dates et permettent d’effectuer des comparaisons et des opérations arithmétiques directes sur eux.

Méthode 1 : Utilisation de l’objet POSIXct

Une chaîne de date peut d’abord être convertie en objets POSIXct, puis une arithmétique de base peut être effectuée facilement. Les objets POSIXct facilitent le processus des opérations mathématiques car ils s’appuient sur les secondes comme unité principale de gestion du temps. Les dates sont converties dans le fuseau horaire standard, UTC. Un objet date de type chaîne peut être converti en objet POSIXct, en utilisant la méthode as.POSIXct(date) dans R. Puisque les dates sont stockées en secondes, la soustraction peut être effectuée en convertissant d’abord les heures et les minutes en unités de secondes aussi.

1 heure = 1 * 60 * 60 secondes

1 min = 1 * 60 secondes

Syntaxe:

as.POSIXct ( date , format)

Le résultat est renvoyé sous la forme d’un objet datetime avec le nombre respectif d’heures soustraites appartenant à la classe POSIXct.

Exemple:

R

time1 <- as.POSIXct("08:32:07", format = "%H:%M:%S")

 

print ("Time")

print (time1)

 

hrs <- 3 * 60 * 60

 

print  ("Subtracted Time")

print (time1 - hrs)

Production

[1] "Time"
[1] "2021-05-19 08:32:07 UTC"
[1] "Subtracted Time"
[1] "2021-05-19 05:32:07 UTC"

Méthode 2 : Utilisation du package de lubrification

Le package Lubridate dans R est utilisé pour travailler avec des objets de date et d’heure. Il facilite l’analyse et la manipulation des objets et doit être installé et chargé dans l’espace de travail.

La fonction Sys.time() dans R est utilisée pour récupérer la date et l’heure actuelles selon la zone IST. La méthode hours() dans R est utilisée pour prendre un entier d’entrée indiquant le nombre d’heures. Les objets de package de lubrification permettent une arithmétique directe sur leurs différents composants, par conséquent, le nombre d’heures peut être directement soustrait de l’objet de temps de lubrification. Un résultat est aussi un objet appartenant à cette classe.

Exemple:

R

library(lubridate)

 

time <- Sys.time()

 

print("Current time")

print (time)

 

hrs <- hours(5)

mod_time <- time - hrs

 

print ("Subtracting 5 hours")

print (mod_time)

Production

[1] "Current time" 
[1] "2021-05-19 16:31:37 IST" 
[1] "Subtracting 5 hours" 
[1] "2021-05-19 11:31:37 IST"

Méthode 3 : Utilisation strptime() méthode

La méthode strptime dans R est utilisée pour convertir directement des vecteurs de caractères (de divers formats) au format POSIXlt. strptime est plus rapide que l’approche précédente car strptime() gère uniquement la saisie de caractères.

Syntaxe:

strptime(date, format, tz = “”)

Paramètre :

date – La date au format caractère

format – Le spécificateur de format de la date d’entrée

tz – fuseau horaire (facultatif)

strptime() fonctionne de manière similaire aux objets POSIXct, où tous les calculs sont effectués en termes de secondes. De plus, la date est renvoyée, ce qui est essentiel dans les cas où la soustraction de certaines heures entraîne également le changement de date.

Exemple:

R

time1 <- strptime("00:32:07", format = "%H:%M:%S")

print ("Time")

print (time1)

 

hrs <- 5 * 60 * 60

print  ("Subtracted Time")

print (time1 - hrs)

Production

[1] "Time" 
[1] "2021-05-19 00:32:07 IST"
[1] "Subtracted Time" 
[1] "2021-05-18 19:32:07 IST"

Laisser un commentaire

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

Aller en haut