如果日期介于其他两个日期之间,是否有 R 函数可以赋值?

Is there an R function that assigns value if the date is in between two other dates?

我有两个数据集,一个数据集是日历翻译。意思是,有编码的周,例如:

Week Start End
2678 2011-06-18 2011-06-24
3689 2011-06-25 2011-07-01
8976 2011-07-02 2011-07-08

所有日期都有“日期”格式,“%Y-%m-%d”。

然后,我有一个温度数据集。 数据集如下所示:

Date Temperature min Temperature max
2011-06-19 14 23
2011-06-20 20 26
2011-06-21 15 18

我想合并数据集,并以我得到以下结果的方式加入它:

Date Temperature min Temperature max Week
2011-06-19 14 23 2678
2011-06-20 20 26 2678
2011-06-21 15 18 2678

我尝试使用 if 语句,但没有成功。有没有办法以这种方式组合数据集?

我们可以将 fuzzy_left_joinmatch_fun 参数一起使用:

library(tidyverse)
library(fuzzyjoin)

fuzzy_left_join(df2, df1, by = c("Date" = "Start",
                                 "Date" = "End"),
                match_fun = list(`>=`, `<=`)
                ) %>% 
  select(-c(Start, End))
        Date Temperature_min Temperature_max Week
1 2011-06-19              14              23 2678
2 2011-06-20              20              26 2678
3 2011-06-21              15              18 2678