我想创建一个包含日期范围的虚拟对象,例如:
从 2020 年 3 月 15 日到 2020 年 3 月 24 日的假人,
2020 年 3 月 15 日之前的期间为 1,
0 表示 03/15/2020 至 03/24/2020
2 为 03/24/2020 之后的期间
dados <- dados %>%
mutate(data_trat = if_else(mês=03/15/2020 to 03/24/2020,1,0,2))
答案 0 :(得分:0)
我们可以在 cut
类转换列上使用 Date
library(dplyr)
dados %>%
mutate(data_trat = cut(mdy(mês),
breaks = as.Date(c("2020-03-15", "2020-03-24")), labels = c(1, 0, 2)))
或者另一个选项是 between
和 case_when
dados %>%
mutate(mês = mdy(mês), data_trat = case_when(mês < as.Date("2020-03-15") ~ 1,
between(mês, as.Date("2020-03-15"), as.Date("2020-03-24")) ~ 0,
TRUE ~ 2))