操作数据框列中的日期

Manipulating date in column of a dataframe

用大于今天的日期更新 dataframe 的列,方法是从该日期减去 1 年

f1 %>% filter(Fresh.email.date > today()) %>% ymd(list(Fresh.email.date)) - years(1)

如果目的是更新原始列,我们不需要 filter。使用 case_when,我们创建一个逻辑条件并在日期大于 today() 时减去一年,否则 return 日期

library(dplyr)
df1 %>%
   mutate(Fresh.email.date = ymd(Fresh.email.date), 
         Fresh.email.date = case_when(Fresh.email.date > today() ~ 
                            Fresh.email.date - years(1), 
       TRUE ~ Fresh.email.date))