用于查找日期差异的 R 函数有例外吗?

R function for finding difference of dates with exceptions?

我想知道是否有一个函数可以找出发行日期和到期日之间的差异,但有 2 个到期日。例如,我想对maturity date source 1中的日期进行优先级排序,并从issue date中减去它来求差。然后,如果我的数据集缺少来自到期日期源 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))

一个选项是 coalesce 列然后做差异

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