使用dplyr将未来日期替换为NA

使用dplyr将未来日期替换为NA,r,replace,dplyr,lubridate,tibble,R,Replace,Dplyr,Lubridate,Tibble,我有一个tibble,有几个列包含日期,其中一些是在未来,例如2019-08-26。我需要将将来的日期替换为NA,并希望使用dplyr这样做 到目前为止,我有以下几点不起作用: 联吡啶酯 图书馆弹琴 可供图书馆使用 d% 选择日期1%>% 替换。>今天,这条线不行了 从帮助替换 论据 x:向量 所以用拉力代替 如果您需要一个tible并尝试替换这些值,请使用mutate 更新 如果有多个列,则选项为mutate\u,如果 制作d%>%mutateDate2=ifelseDate1

我有一个tibble,有几个列包含日期,其中一些是在未来,例如2019-08-26。我需要将将来的日期替换为NA,并希望使用dplyr这样做

到目前为止,我有以下几点不起作用:

联吡啶酯 图书馆弹琴 可供图书馆使用 d% 选择日期1%>% 替换。>今天,这条线不行了 从帮助替换

论据

x:向量

所以用拉力代替

如果您需要一个tible并尝试替换这些值,请使用mutate

更新

如果有多个列,则选项为mutate\u,如果


制作d%>%mutateDate2=ifelseDate1library(dplyr) d %>% pull("Date1") %>% replace(. > today(), NA) #[1] "2019-08-05" NA NA NA "2019-07-29" #[6] "2019-08-12" "2019-08-19" NA NA
d %>%
 mutate(Date2 = replace(Date1, Date1 > Sys.Date(), NA))
# A tibble: 9 x 3
#     ID Date1      Date2     
#  <int> <date>     <date>    
#1     1 2019-08-05 2019-08-05
#2     2 2019-08-26 NA        
#3     3 2019-08-26 NA        
#4     4 2019-08-26 NA        
#5     5 2019-07-29 2019-07-29
#6     6 2019-08-12 2019-08-12
#7     7 2019-08-19 2019-08-19
#8     8 2019-08-26 NA        
#9     9 2019-08-26 NA           
# don't run
# d %>% mutate(Date2 = ifelse(Date1 < today(), Date1, NA))
d %>%
  mutate_if(., is.Date, .funs = ~replace(., . > today(), NA))