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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert