R语言 如何对日期进行加减法

R语言 如何对日期进行加减法

R编程语言提供了多种方法来处理日期和日期/时间数据。内置框架as.Date函数只负责处理日期,R中的库Chron同时处理日期和时间,但不支持时区;而POSIXct和POSIXlt类提供了对处理日期时间对象以及时区的支持。可以将日期时间对象轻松转换为其他与日期有关的对象。

方法1:使用 as . Date() 方法

日期对象被存储为从1970年1月1日开始计算的天数,其中负数被用来指代更早的日期。Date对象直接支持基本算术,其中整数直接从Dates中加减。N个天数被直接加减,标准的日期格式被作为输出返回。Date对象也可以指定不同的格式来包含日期。as.Date()方法接受一个字符串日期对象作为输入,并将其转换为一个Date对象。

as.Date(character date object)

下面的R语言片段说明了Date对象的用法。

# declaring a date object
date <- as.Date("2020/12/11")
print ("Original Date")
print (date)
  
# subtracting 3 days from date 
# object
n = 3
  
# subtracting days 
new_sub_date <- date - n
print ("Subtracted Date")
print (new_sub_date)
  
# adding days
new_add_date <- date + n
print ("Added Date")
print (new_add_date)

输出

[1] "Original Date"
[1] "2020-12-11"
[1] "Subtracted Date"
[1] "2020-12-08"
[1] "Added Date"
[1] "2020-12-14"

方法2:R语言中的lubridate包

Lubridate是一个R包,用于模拟轻松地处理日期和时间对象。ymd()方法用于从日期-时间对象中提取日期部分,并将其转换为标准的年、月、日格式。day()方法接受一个整数作为参数,直接使用数学运算符对日期对象进行算术。

语法: ymd(date)

参数: date – 字符串日期对象

返回: ymd格式的Date对象

代码

# using required libraries
library(lubridate)
  
# declaring a date object
date <- "2009-10-01"
print ("Original Date")
print (date)
  
# subtracting 3 days from date
# object
n = 3
  
# subtracting days 
new_sub_date <- date - n
print ("Subtracted Date")
print (new_sub_date)
  
# adding days
new_add_date <- date + n
print ("Added Date")
print (new_add_date)

输出

[1] "Original Date" 
[1] "2009-10-01" 
[1] "Subtracted Date" 
[1] "2009-09-25" 
[1] "Added Date" 
[1] "2009-10-07"

同样的算术也可以用R中的days()函数来进行,它的参数是对应于天数的整数。

# using required libraries
library(lubridate)
  
# declaring a date object
date <- "2009-10-01"
print ("Original Date")
print (date)
  
# subtracting days
n = 6
sub_date <- ymd(date) - days(6)
print ("Subtracted Date")
print (sub_date)
  
# adding days
new_add_date <- ymd(date) + days(0)
print ("Added Date")
print (new_add_date)

输出

[1] "Original Date"
[1] "2009-10-01"
[1] "Subtracted Date"
[1] "2009-09-25"
[1] "Added Date" 
[1] "2009-10-01"

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程