Comment soustraire des heures du temps dans R (avec des exemples)
Vous pouvez utiliser l’une des méthodes suivantes pour soustraire un certain nombre d’heures d’une heure dans R :
Méthode 1 : utiliser Base R
#create new column that subtracts 4 hours from time df$subtract4 <- df$time - (4*3600)
Méthode 2 : utiliser le package Lubridate
library(lubridate) #create new column that subtracts 4 hours from time df$subtract4 <- df$time - hours(4)
Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant :
#create data frame df <- data.frame(time=as.POSIXct(c('2022-01-03 08:04:15', '2022-01-05 14:04:15', '2022-01-05 20:03:53', '2022-01-06 03:29:13', '2022-01-06 06:15:00', '2022-01-07 10:48:11'), format='%Y-%m-%d %H:%M:%OS'), sales=c(130, 98, 240, 244, 174, 193)) #view data frame df time sales 1 2022-01-03 08:04:15 130 2 2022-01-05 14:04:15 98 3 2022-01-05 20:03:53 240 4 2022-01-06 03:29:13 244 5 2022-01-06 06:15:00 174 6 2022-01-07 10:48:11 193
Remarque : Pour ajouter des heures à une date, remplacez simplement le signe de soustraction par un signe d’addition dans l’une des formules ci-dessus.
Exemple 1 : soustraire des heures du temps en utilisant la base R
Le code suivant montre comment créer une nouvelle colonne appelée subtract4 qui soustrait quatre heures de chaque valeur de la colonne time :
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - (4*3600)
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
Notez que les valeurs de la nouvelle colonne subtract4 sont égales aux valeurs de la colonne time avec quatre heures soustraites.
Remarque : Nous utilisons (4*3600) dans la formule car les valeurs de temps sont stockées sous forme de secondes dans R. Puisqu’il y a 3 600 secondes dans une heure, nous devons multiplier 4 par 3 600 pour soustraire 4 heures.
Exemple 2 : Soustraire des heures du temps à l’aide du package Lubridate
Le code suivant montre comment utiliser la fonction hours() du package lubridate pour créer une nouvelle colonne appelée subtract4 qui soustrait quatre heures de chaque valeur de la colonne time :
library(lubridate)
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours(4)
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
Notez que les valeurs de la nouvelle colonne subtract4 sont égales aux valeurs de la colonne time avec quatre heures soustraites.
Notez que cette méthode produit les mêmes résultats que la méthode de base R.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment convertir une date en numérique dans R
Comment extraire le mois de la date dans R
Comment ajouter et soustraire des mois à une date dans R