Come sottrarre ore dal tempo in r (con esempi)


È possibile utilizzare uno dei seguenti metodi per sottrarre un determinato numero di ore da un’ora in R:

Metodo 1: utilizzare Base R

 #create new column that subtracts 4 hours from time
df$subtract4 <- df$time - ( 4 * 3600 )

Metodo 2: utilizzare il pacchetto Lubrificante

 library (lubridate)

#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours( 4 )

Gli esempi seguenti mostrano come utilizzare ciascun metodo con il seguente frame di dati:

 #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

Nota : per aggiungere ore a una data, sostituisci semplicemente il segno di sottrazione con un segno di addizione in una delle formule sopra.

Esempio 1: sottrarre ore dal tempo utilizzando la base R

Il codice seguente mostra come creare una nuova colonna denominata sottrazione4 che sottrae quattro volte da ciascun valore nella colonna temporale :

 #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

Tieni presente che i valori nella nuova colonna sottrat4 sono uguali ai valori nella colonna temporale con quattro ore sottratte.

Nota : utilizziamo (4*3600) nella formula perché i valori temporali sono memorizzati come secondi in R. Poiché in un’ora ci sono 3600 secondi, dobbiamo moltiplicare 4 per 3600 per sottrarre 4 ore.

Esempio 2: sottrarre ore dal tempo utilizzando il pacchetto Lubrificate

Il codice seguente mostra come utilizzare la funzione Hours() del pacchetto lubridate per creare una nuova colonna chiamata sottrat4 che sottrae quattro ore da ciascun valore nella colonna 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

Tieni presente che i valori nella nuova colonna sottrat4 sono uguali ai valori nella colonna temporale con quattro ore sottratte.

Si noti che questo metodo produce gli stessi risultati del metodo base R.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come convertire una data in numerica in R
Come estrarre il mese dalla data in R
Come aggiungere e sottrarre mesi a una data in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *