R中月份中两个日期之间的差异

时间:2020-01-30 16:31:32

标签: r date datediff

我有一个示例数据集,如下所示:

df= data.frame("Finish_Date"=c("10/2019", "07/2005", "09/2008"), 
               "Recent_Date"="01/2020", stringsAsFactors = F)

我需要创建一个新列并计算这两个日期之间的差额,以便获得“月”的差额。我已经尝试了这篇Get the difference between dates in terms of weeks, months, quarters, and years帖子中的解决方案,但是,我得到的结果是NA。

下面是我尝试过的代码:

df$Due_Date=(as.yearmon(df$Recent_Date, format = "%Y-%m")-
                  as.yearmon(df$Finish_Date, format = "%Y-%m"))*12

我的最终输出应该是这样的:

| Finish_Date | Recent_Date | Due_Date |
|-------------|:-----------:|---------:|
| 10/2019     |   01/2020   |        3 |
| 07/2005     |   01/2020   |      174 |
| 09/2008     |   01/2020   |      136 |

有什么方法可以得到结果吗?

1 个答案:

答案 0 :(得分:1)

我们需要提供正确的格式。在这里,它是%m/%Y而不是%Y-%m

library(zoo)
df$Due_Date <- (as.yearmon(df$Recent_Date, format = "%m/%Y")-
               as.yearmon(df$Finish_Date, format = "%m/%Y"))*12
df$Due_Date
#[1]   3 174 136
相关问题