【发布时间】:2020-01-22 20:28:59
【问题描述】:
我有两个日期变量
ID Date1 Date2
1 2019-09-10 2019-09-09
1 2019-12-11 2019-12-01
1 NA 2019-12-08
2 2019-09-11 2019-09-25
2 2019-11-05 2019-11-15
2 2019-12-05 NA
3 2019-09-19 2019-09-11
3 2019-10-22 2019-10-17
我想通过运行以下代码来比较日期 1 是否在日期 2 之后
df %>%
group_by(id) %>%
mutate(Result = ifelse(!is.na(Date1) < !is.na(Date2), "Yes",
"No"))
我想要的是:
ID Date1 Date2 Result
1 2019-09-10 2019-09-09 No
1 2019-12-11 2019-12-01 No
1 NA 2019-12-08 NA
2 2019-09-11 2019-09-25 Yes
2 2019-11-05 2019-11-15 Yes
2 2019-12-05 NA NA
3 2019-09-19 2019-09-11 No
3 2019-10-22 2019-10-17 No
如果我运行这个,我会为那些包含 NA.. 我不想删除 NA,因为我以后仍然需要这些缺失的信息。我不确定为什么 !is.na() 在这种情况下不起作用。任何帮助将不胜感激!
- 我也试过 difftime() 也发生了同样的事情
【问题讨论】:
标签: r date if-statement dplyr