R中任何日计数日期之间的天数

时间:2015-03-25 12:31:32

标签: r days

R中是否有一个函数计算任何日计数的两个日期之间的天数?我正在寻找类似于Matlab的daysdif函数。

http://www.mathworks.com/help/finance/daysdif.html

特别是,我有兴趣计算360天的天数,相当于Excel的360天功能。

http://www.techonthenet.com/excel/formulas/days360.php

是否有包含任何有用功能的包?

1 个答案:

答案 0 :(得分:1)

这适合你吗?

> as.POSIXct("2015-09-08")-as.POSIXct("2015-09-06")
Time difference of 2 days
> as.numeric(as.POSIXct("2015-09-08")-as.POSIXct("2015-09-06"))
[1] 2

修改

使用lubridate包可以创建这样的功能

> library(lubridate)
> 
> FACTOR_30_360 <- function(date1, date2){
+    stopifnot(is.POSIXct(date1) | is.POSIXct(date2))
+    
+    (360*(year(date2)-year(date1)) + 30*(month(date2) - month(date1))
+     + day(date2)-day(date1))/360
+ }
> 
> FACTOR_30_360(as.POSIXct("2015-09-08"),
+               as.POSIXct("2015-09-10"))
[1] 0.005555556

<强> EDIT2

或尝试此套餐RQuantLib - 第10页