I would like to use a category from one data frame and apply it to another based on a similar column (merge). But, the merge needs to consider a range of data points that are found between two columns. I have an example below.
set.seed(123)  
df_1 <- tibble(
  x = c(0, 500, 1000, 1500, 2000),
  y = c(499, 999, 1499, 1999, 99999),
  desc = LETTERS[1:5]
)
    > df_1
# A tibble: 5 x 3
      x     y desc 
  <dbl> <dbl> <chr>
1     0   499 A    
2   500   999 B    
3  1000  1499 C    
4  1500  1999 D    
5  2000 99999 E 
df_2 <- tibble(
  code = sample(1:2500,5,F)
)
 >df_2
# A tibble: 5 x 1
       code
      <int>
    1   719
    2  1970
    3  1022
    4  2205
    5  2348
## desired output
df_2 %>% 
  mutate(desc = c('B', 'D', 'C', 'E', 'E'))
# A tibble: 5 x 2
   code desc 
  <int> <chr>
1   719 B    
2  1970 D    
3  1022 C    
4  2205 E    
5  2348 E  
My first thought was to split df_1 and merge somehow, but I'm stuck on how to deal with the range of values found in x and y. Any ideas?