In this article, we will discuss how to convert date to numeric in R Programming Language.
Method 1: Using as.numeric()
This function is used to convert date into numeric
Syntax:
as.numeric(date)
where the date is the input date.
Example:
data = as.POSIXct("1/1/2021 1:05:00 AM",
format="%m/%d/%Y %H:%M:%S %p")
# display
print(data)
# convert to numeric
print(as.numeric(data))
Output:
[1] "2021-01-01 01:05:00 UTC" [1] 1609463100
If we want to get the number of days from the number, divide the number by 86400.
as.numeric(date)/86400
If we want to get the number of years from date, then divide it by 365.
as.numeric(date)/86400/365
Example: R program to convert dates into days and years
data = as.POSIXct("1/1/2021 1:05:00 AM",
format="%m/%d/%Y %H:%M:%S %p")
# display
print(data)
# convert to numeric
print(as.numeric(data))
# convert to numeric and get days
print(as.numeric(data)/86400)
# convert to numeric and get years
print((as.numeric(data)/86400)/365)
Output:
[1] "2021-01-01 01:05:00 UTC" [1] 1609463100 [1] 18628.05 [1] 51.03574
Method 2: Use functions from lubridate package
Here, By using this module, we can get the day, month, year, hour, minute, and second separately in integer format.
Syntax:
day: day(date) month: month(date) year: year(date) hour: hour(date) minute: minute(date) second: second(date)
Example:
# load the library
library("lubridate")
# create date
data = as.POSIXct("1/1/2021 1:05:00 AM",
format="%m/%d/%Y %H:%M:%S %p")
# display
print(data)
# get the day
print(day(data))
# get the month
print(month(data))
# get the year
print(year(data))
# get the hour
print(hour(data))
# get the minute
print(minute(data))
# get the second
print(second(data))
Output:
[1] "2021-01-01 01:05:00 UTC" [1] 1 [1] 1 [1] 2021 [1] 1 [1] 5 [1] 0