【问题标题】:Days between dates for any day-count basis in RR中任何天数基础的日期之间的天数
【发布时间】:2015-03-25 12:31:31
【问题描述】:

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

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

特别是,我对计算 360 天一年中的天数感兴趣,这相当于 Excel 的 days360 函数。

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

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

【问题讨论】:

  • 查看lubridate
  • lubridate 似乎没有我想要的功能
  • 查看PCICt 包。

标签: r days


【解决方案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 - page10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 2014-06-14
    相关资源
    最近更新 更多