Uren aftrekken van tijd in r (met voorbeelden)
U kunt een van de volgende methoden gebruiken om een bepaald aantal uren af te trekken van een uur in R:
Methode 1: Gebruik Base R
#create new column that subtracts 4 hours from time df$subtract4 <- df$time - ( 4 * 3600 )
Methode 2: Gebruik het Lubridate-pakket
library (lubridate) #create new column that subtracts 4 hours from time df$subtract4 <- df$time - hours( 4 )
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met het volgende dataframe:
#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
Opmerking : om tijden aan een datum toe te voegen, vervangt u eenvoudigweg het aftrekkingsteken door een optellingsteken in een van de bovenstaande formules.
Voorbeeld 1: Uren aftrekken van de tijd met grondtal R
De volgende code laat zien hoe u een nieuwe kolom maakt met de naam subtract4 , die vier keer aftrekt van elke waarde in de tijdkolom :
#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
Merk op dat de waarden in de nieuwe subtract4- kolom gelijk zijn aan de waarden in de tijdkolom met vier uur afgetrokken.
Opmerking : we gebruiken (4*3600) in de formule omdat tijdwaarden worden opgeslagen als seconden in R. Omdat er 3600 seconden in een uur zitten, moeten we 4 vermenigvuldigen met 3600 om 4 uur af te trekken.
Voorbeeld 2: Trek uren af van de tijd met behulp van het Lubridate-pakket
De volgende code laat zien hoe u de functie hours() van het lubridate- pakket kunt gebruiken om een nieuwe kolom te maken met de naam subtract4 , die vier uur aftrekt van elke waarde in de tijdkolom :
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
Merk op dat de waarden in de nieuwe subtract4- kolom gelijk zijn aan de waarden in de tijdkolom met vier uur afgetrokken.
Merk op dat deze methode dezelfde resultaten oplevert als de basis R-methode.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe een datum naar numeriek in R te converteren
Hoe maand uit datum te extraheren in R
Maanden optellen en aftrekken bij een datum in R