Come convertire una data in numerica in r (con esempi)


Esistono due metodi che puoi utilizzare per convertire i valori di data in valori numerici in R:

Metodo 1: utilizzare as.numeric()

 as. numeric (my_date)

Ciò restituirà il numero di secondi trascorsi tra l’oggetto data e l’1/1/1970.

Metodo 2: utilizzare le funzioni del pacchetto di lubrificazione

 library (lubridate)

#get seconds value in date object
second(my_date)

#get minutes value in date object
minute(my_date)

...
#get year value in date object
year(my_date)

Ciò restituirà il valore di secondi, minuti, anni, ecc. del tuo oggetto data.

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Metodo 1: utilizzare as.numeric()

Il codice seguente mostra come convertire un oggetto data in numerico utilizzando la funzione as.numeric() :

 #create date object
my_date <- as. POSIXct ("10/14/2021 5:35:00 PM", format="%m/%d/%Y %H:%M:%S %p")

#view date object
my_date

[1] "2021-10-14 05:35:00 UTC"

#convert date object to number of seconds since 1/1/1970
as. numeric (my_date)

[1] 1634189700

#convert date object to number of days since 1/1/1970
as. numeric (my_date) / 86400

[1] 18914.23

#convert date object to number of years since 1/1/1970
as. numeric (my_date) / 86400 / 365

[1] 51.81982

In base al risultato possiamo vedere:

  • C’è una differenza di 1.634.189.700 secondi tra il nostro oggetto data e l’1/1/1970.
  • C’è una differenza di 18.914,23 giorni tra la nostra data e l’1/1/1970.
  • C’è una differenza di 51,81982 anni tra il nostro oggetto data e l’1/1/1970.

Metodo 2: utilizzare le funzioni del pacchetto di lubrificazione

Il codice seguente mostra come convertire un oggetto data in numerico utilizzando le funzioni nel pacchetto lubridate in R:

 library (lubridate)

#create date object
my_date <- as. POSIXct ("10/14/2021 5:35:00 PM", format="%m/%d/%Y %H:%M:%S %p")

#view date object
my_date

[1] "2021-10-14 05:35:00 UTC"

#extract various numerical values from date object
second(my_date)

[1] 0

minute(my_date)

[1] 35

hour(my_date)

[1] 5

day(my_date)

[1] 14

month(my_date)

[1] 10

year(my_date)

[1] 2021

Utilizzando queste funzioni possiamo estrarre i valori di secondi, minuti, ore, giorni, mesi e anni dal nostro oggetto data.

Fare riferimento a questo cheat sheet online per ottenere una comprensione completa delle funzioni più comunemente utilizzate nel pacchetto Lubrificante.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre conversioni comuni in R:

Come convertire una stringa in Datetime in R
Come convertire i numeri in date in R
Come ordinare un frame di dati per data in R

Aggiungi un commento

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