【发布时间】:2020-05-16 07:55:08
【问题描述】:
我有一个示例数据集,如下所示:
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 |
有没有办法得到结果?
【问题讨论】:
-
这本质上是一个错字。您的日期格式必须与您的字符串匹配;否则,您已经告诉 R 以一种方式查找信息,然后以另一种方式给出它,得到 NA。这就是为什么分步调试很好的原因——在进行任何差异计算之前,您应该已经看到在
as.yearmon处有 NA,因为您提供了错误的格式