r - 用于查找日期差异的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))
解决方案
一个选项是coalesce
列,然后做不同
library(dplyr)
df %>%
mutate(difference = as.numeric((coalesce(Maturity_Date_source_1,
Maturity_Date_source_2) - Issue_Date)/365.25))
推荐阅读
- python - 遍历一个空列表
- laravel - 如何处理 laravel 资源中的嵌套关系 - 2
- c++ - 位排序/字节顺序 flac 解码
- c# - 如何从 winform 中删除一个绘制的对象?
- flutter - Flutter 中的下拉菜单视图
- linux - 是否可以在 Flutter 中编写特定于 Windows/Linux/MacOS 的代码?
- java - 无法从双重转换为类
- makefile - 如何用循环简化这个 Makefile
- python - 读取多个 .csv 文件并提取(在新的 .csv 文件中)与特定列中的非空单元格对应的所有行
- c++ - 如何让代码提示用户输入信息而不是硬接线?