我正在尝试确定基线和后续日期之间的月数,我的日期如下所示
-------------------------
| Baseline | Follow_Up |
-------------------------
| 10/6/15 | 10/10/17 |
| 10/6/15 | 4/20/18 |
| 10/6/15 | 4/18/18 |
| 10/6/15 | 7/2/18 |
| 10/6/15 | 8/8/17 |
| 10/6/15 | 1/17/18 |
| 10/6/15 | 10/19/17 |
--------------------------
Run Code Online (Sandbox Code Playgroud)
我正在寻找这样的输出
---------------------------------------------
| Baseline | Follow_Up | Months difference|
---------------------------------------------
| 10/6/15 | 10/10/17 |24.5 |
| 10/6/15 | 4/20/18 |30.9 |
| 10/6/15 | 4/18/18 |30.8 |
| 10/6/15 | 7/2/18 |33.3 |
| 10/6/15 …Run Code Online (Sandbox Code Playgroud) 该difftime()功能可以轻松计算两天或几周内的差异,但没有选项可以计算月份或年份的差异.有什么理由吗?你知道任何执行这项任务的功能吗?
我想生成两个日期之间所有月份的序列。
我可以用 seq.Date 来实现这一点:
start <- as.Date("2015-08-01")
end <- as.Date("2015-09-01")
seq <- seq.Date(start, end, by = "month")
[1] "2015-08-01" "2015-09-01"
format(seq, "%Y-%m")
[1] "2015-08" "2015-09"
Run Code Online (Sandbox Code Playgroud)
但如果两个日期之间相隔不到一个月,则会失败:
start <- as.Date("2015-08-14")
end <- as.Date("2015-09-03")
seq <- seq.Date(start, end, by = "month")
[1] "2015-08-14"
format(seq, "%Y-%m")
[1] "2015-08"
Run Code Online (Sandbox Code Playgroud)
我可以用 seq 解决几天的问题:
unique(format(seq.Date(start, end, by = "day"), "%Y-%m"))
[1] "2015-08" "2015-09"
Run Code Online (Sandbox Code Playgroud)
但有没有一种更简单的方法来做到这一点,我缺少什么?谢谢。