我有一个示例数据集,如下所示:
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 |
有什么方法可以得到结果吗?
答案 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