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