como encontrar datas que se sobrepõem de dois quadros de dados e subconjunto diferentes
Gostaria de usar uma data do quadro de dados A para encontrar datas dentro de 180 dias a partir dessa data para selecionar linhas no quadro de dados B, com IDs correspondentes.
por exemplo.
Dataframe A
ID Date A
42 2012-07-21
42 2013-04-12
167 2009-04-27
167 2010-04-19
105 2010-12-16
105 2012-01-05
Dataframe B
ID Date B
12 2016-09-08
35 2008-02-02
42 2012-01-09
42 2013-03-13
167 2010-08-02
105 2010-11-26
105 2011-08-12
105 2011-11-11
105 2013-03-15
105 2013-09-13
Eu gostaria de criar um quadro de dados que forneça a combinação mais próxima de datas, além de garantir que haja no mínimo 3 Data B's na sequência. Portanto, a data A é a data de referência e a primeira data B precisa estar dentro de 180 +/- da data A, além de ter pelo menos duas datas subsequentes. Se houver mais duas combinações potenciais de data A e B, eu escolheria a combinação que preserva um mínimo de 3 datas Bs como a preferência.
ID Date A Date B
105 2012-01-05 2011-11-11
105 2012-01-05 2013-03-15
105 2012-01-05 2013-09-13