如何在 R 中将日期转换为数字?
在本文中,我们将讨论如何在 R 编程语言中将日期转换为数字。
方法一:使用 as.numeric()
此函数用于将日期转换为数字
语法:
as.numeric(date)
其中日期是输入日期。
示例:
R
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))
R
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)
R
# 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))
输出:
[1] "2021-01-01 01:05:00 UTC"
[1] 1609463100
如果我们想从数字中得到天数,将数字除以 86400。
as.numeric(date)/86400
如果我们想得到从日期开始的年数,那么将它除以 365。
as.numeric(date)/86400/365
示例:将日期转换为日和年的 R 程序
R
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)
输出:
[1] "2021-01-01 01:05:00 UTC"
[1] 1609463100
[1] 18628.05
[1] 51.03574
方法 2:使用 lubridate 包中的函数
在这里,通过使用这个模块,我们可以分别获取整数格式的日、月、年、时、分、秒。
语法:
day:
day(date)
month:
month(date)
year:
year(date)
hour:
hour(date)
minute:
minute(date)
second:
second(date)
示例:
R
# 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))
输出:
[1] "2021-01-01 01:05:00 UTC"
[1] 1
[1] 1
[1] 2021
[1] 1
[1] 5
[1] 0