Een datum naar numeriek converteren in r (met voorbeelden)
Er zijn twee methoden die u kunt gebruiken om datumwaarden om te zetten naar numerieke waarden in R:
Methode 1: Gebruik as.numeric()
as. numeric (my_date)
Dit retourneert het aantal seconden dat is verstreken tussen uw datumobject en 1-1-1970.
Methode 2: Gebruik smeerpakketfuncties
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)
Dit retourneert de waarde van seconden, minuten, jaren, enz. van uw date-object.
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Methode 1: Gebruik as.numeric()
De volgende code laat zien hoe u een date-object naar numeriek converteert met behulp van de functie 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
Op basis van het resultaat kunnen we zien:
- Er is een verschil van 1.634.189.700 seconden tussen ons datumobject en 1/1/1970.
- Er is een verschil van 18.914,23 dagen tussen ons datumobject en 1/1/1970.
- Er is een verschil van 51,81982 jaar tussen ons datumobject en 1/1/1970.
Methode 2: Gebruik smeerpakketfuncties
De volgende code laat zien hoe u een date-object naar numeriek converteert met behulp van functies in het lubridate- pakket 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
Met behulp van deze functies kunnen we de waarden van seconden, minuten, uren, dagen, maanden en jaren uit ons datumobject extraheren.
Raadpleeg dit online spiekbriefje om een volledig inzicht te krijgen in de meest gebruikte functies in het Lubridate-pakket.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende conversies in R kunt uitvoeren:
Hoe een string naar Datetime in R te converteren
Hoe getallen naar datums in R te converteren
Hoe een dataframe op datum te sorteren in R