首页 > 解决方案 > 用于查找日期差异的R函数有例外吗?

问题描述

我想知道是否有一个功能可以找到发行日期和到期日期之间的差异,但有两个到期日期。例如,我想优先考虑到期日期源 1 中的日期,然后从发行日期中减去它以找出差异。然后,如果我的数据集缺少到期日期源 1 中的日期,例如第 5 行和第 6 行,我想使用到期日期源 2 中的日期来填写其余部分。我已经尝试了下面的代码,但不确定如何在不更改其他所有内容的情况下合并来自到期日期源 2 的数据。我附上了一张图片供参考。先感谢您。

    df$Maturity_Date_source_1 <- as.Date(c(df$Maturity_Date_source_1))
df$Issue_Date <- as.Date(c(df$Issue_Date))
df$difference <- (df$Maturity_Date_source_1 - df$Issue_Date) / 365.25
df$difference <- as.numeric(c(df$difference))

在此处输入图像描述

标签: rdatediffdate-difference

解决方案


一个选项是coalesce列,然后做不同

library(dplyr)
df %>%
   mutate(difference = as.numeric((coalesce(Maturity_Date_source_1, 
                    Maturity_Date_source_2) - Issue_Date)/365.25))

推荐阅读