首页 > 解决方案 > 在R代码中的两个日期之间每月分配天数?

问题描述

我对 R 编程非常陌生,正在尝试确定两个日期之间每月分配的天数。

我有一个具有以下结构的数据集: from_date to_date 数量

示例数据:

2019-06-15 2019-09-10 55
2019-07-11 2019-10-05 17

我想调用一个返回数据集/向量的函数?它包含 3 个值,因为 from_date 和 to_date 之间的最大差异为 3 个月。

我曾尝试使用lubridate::floor_date()to_date

标签: r

解决方案


不确定您是否正在寻找如下结果:

df$quantity <-  with(df,as.Date(to_date)-as.Date(from_date))

或者

df$quantity <- apply(df, 1, function(v) diff(as.Date(v)))

屈服

> df
   from_date    to_date quantity
1 2019-06-15 2019-09-10       87
2 2019-07-11 2019-10-05       86

数据

df <- structure(list(from_date = structure(1:2, .Label = c("2019-06-15", 
"2019-07-11"), class = "factor"), to_date = structure(1:2, .Label = c("2019-09-10", 
"2019-10-05"), class = "factor")), class = "data.frame", row.names = c(NA, 
-2L))

推荐阅读