如何合并某个日期范围内的两个数据框?

时间:2021-01-08 04:17:45

标签: sql r dataframe join

我有两个数据框需要在 R 中加入。我在下面包含了一个示例数据集。一个数据框包括 id、一个随日期范围变化而变化的数字以及一个日期范围。该范围由两列给出:一列标识期间的开始,另一列标识期间的结束。我需要将该行和所有信息与另一个数据集匹配,该数据集包括在提供的范围内和之间发生的 gps ping。例如,对于单元 1,在 12/1/2020 和 12/2/2020 之间的雨是 10。我希望关于雨是 10 的信息被加入到 12/1/2020 和 12 之间的 ping 数据集/2/2020。

最终的连接数据集将在 ID 和日期范围 (df3) 上进行连接。

df1
ID    rain   begdate    enddate
1     10     12/1/2020  12/2/2020
1     15     12/3/2020  12/4/2020
2     20     12/2/2020  12/4/2020
4     40     12/1/2020  12/3/2020
4     45     12/4/2020  12/5/2020
3     30     12/2/2020  12/3/2020

df2
lat   long   ID    Date 
47    10     1     12/1/2020
44    20     1     12/1/2020
47    10     1     12/2/2020
44    20     1     12/2/2020
47    10     1     12/3/2020
44    20     1     12/4/2020
46    30     2     12/2/2020
47    28     2     12/3/2020
46    32     2     12/4/2020
43    39     4     12/1/2020
44    39     4     12/2/2020
43    38     4     12/2/2020
43    36     4     12/3/2020
43    39     4     12/4/2020
44    39     4     12/4/2020
43    38     4     12/5/2020
43    36     4     12/5/2020
44    38     3     12/2/2020
45    22     3     12/2/2020
47    23     3     12/3/2020


df3
lat   long   ID    Date         rain   begdate    enddate
47    10     1     12/1/2020    10     12/1/2020  12/2/2020
44    20     1     12/1/2020    10     12/1/2020  12/2/2020
47    10     1     12/2/2020    10     12/1/2020  12/2/2020
44    20     1     12/2/2020    10     12/1/2020  12/2/2020
47    10     1     12/3/2020    10     12/1/2020  12/2/2020
46    30     2     12/2/2020    20     12/2/2020  12/4/2020
47    28     2     12/3/2020    20     12/2/2020  12/4/2020
46    32     2     12/4/2020    20     12/2/2020  12/4/2020
43    39     4     12/1/2020    40     12/1/2020  12/3/2020
44    39     4     12/2/2020    40     12/1/2020  12/3/2020
43    38     4     12/2/2020    40     12/1/2020  12/3/2020
43    36     4     12/3/2020    40     12/1/2020  12/3/2020
43    39     4     12/4/2020    45     12/4/2020  12/5/2020
44    39     4     12/4/2020    45     12/4/2020  12/5/2020
43    38     4     12/5/2020    45     12/4/2020  12/5/2020
43    36     4     12/5/2020    45     12/4/2020  12/5/2020
44    38     3     12/2/2020    30     12/2/2020  12/3/2020
45    22     3     12/2/2020    30     12/2/2020  12/3/2020
47    23     3     12/3/2020    30     12/2/2020  12/3/2020

我曾尝试使用 Fuzzy_join 和 sqldf 加入数据集,但没有成功。任何和所有的帮助都会很棒!

0 个答案:

没有答案
相关问题