Skip to content

Instantly share code, notes, and snippets.

@DavisVaughan
Last active April 12, 2021 20:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DavisVaughan/65f0b537431e116ab595ec480d167037 to your computer and use it in GitHub Desktop.
Save DavisVaughan/65f0b537431e116ab595ec480d167037 to your computer and use it in GitHub Desktop.
library(dplyr)
library(lubridate)
set.seed(123)
today <- as.Date("2021-04-12")
df <- tibble(x = today + sample(-(1:100), size = 50))
df %>%
mutate(
res_between = case_when(
between(x, today - days(60), today) ~ "last 60 days",
between(x, today - days(90), today - days(61)) ~ "between 60 and 90 days ago",
TRUE ~ "above 90 days ago"
),
res_compare = case_when(
x >= today - days(60) ~ "last 60 days",
x >= today - days(90) & x <= today - days(61) ~ "between 60 and 90 days ago",
TRUE ~ "above 90 days ago"
)
)
#> # A tibble: 50 x 3
#> x res_between res_compare
#> <date> <chr> <chr>
#> 1 2021-03-12 last 60 days last 60 days
#> 2 2021-01-23 between 60 and 90 days ago between 60 and 90 days ago
#> 3 2021-02-20 last 60 days last 60 days
#> 4 2021-03-29 last 60 days last 60 days
#> 5 2021-02-04 between 60 and 90 days ago between 60 and 90 days ago
#> 6 2021-03-01 last 60 days last 60 days
#> 7 2021-02-21 last 60 days last 60 days
#> 8 2021-02-28 last 60 days last 60 days
#> 9 2021-01-05 above 90 days ago above 90 days ago
#> 10 2021-03-18 last 60 days last 60 days
#> # … with 40 more rows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment