I have been trying to do this for like 2-3 days but still could not find the answer. What I want to do is I have two dataframes x,y (given below a sample of them)
X
Response.No Tab.No Survey.Date AC.Name Mandal.Name Village.Name
1 9530 1 2015-05-26 NA NA NA
2 6702 1 2015-05-30 NA NA NA
3 26744 1 2015-05-31 NA NA NA
4 8925 1 2015-06-03 NA NA NA
5 20242 1 2015-06-04 NA NA NA
6 21316 1 2015-06-04 NA NA NA
7 28056 1 2015-06-04 NA NA NA
8 12661 1 2015-06-05 NA NA NA
9 17187 1 2015-06-05 NA NA NA
10 28795 1 2015-06-05 NA NA NA
Y
AC.Name Mandal.Name Village.Name Tab.No Survey.Start.Date Survey.End.Date
1 Nandigama Chanderlapadu Punnavalli 1 2015-05-23 2015-05-27
2 Nandigama Chanderlapadu Kasarabada 1 2015-05-30 2015-06-07
3 Nandigama Chanderlapadu Kodavatikallu 1 2015-06-09 2015-06-28
4 Nandigama Chanderlapadu Thurlapadu 1 2015-06-29 2015-07-13
5 Nandigama Chanderlapadu Chanderlapadu 1 2015-07-14 2015-07-25
6 Nandigama Chanderlapadu Popuru 2 2015-05-23 2015-05-27
7 Nandigama Chanderlapadu Kandrapadu 2 2015-05-30 2015-06-08
8 Nandigama Chanderlapadu Vibhareethalapadu 3 2015-05-30 2015-06-04
9 Nandigama Chanderlapadu Eturu 3 2015-06-10 2015-06-23
10 Nandigama Chanderlapadu Bobbillapadu 3 2015-06-26 2015-07-03
i.e I want to match the x and y by column Tab.No but also make sure that x$Survey.Date lies between y$Survey.Start.Date and y$Survey.End.Date. And if both conditions are not satisfied the row must have N.A values . I've tried and searched google stackoverflow and R-Studio help but was unable to get the desired result.
Z
Response.No Tab.No Survey.Date AC.Name Mandal.Name Village.Name
1 9530 1 2015-05-26 Nandigama Chanderlapadu Punnavalli
2 6702 1 2015-05-30 Nandigama Chanderlapadu Kasarabada
3 26744 1 2015-05-31 Nandigama Chanderlapadu Kasarabada
4 8925 1 2015-06-03 Nandigama Chanderlapadu Kasarabada
5 20242 1 2015-06-04 Nandigama Chanderlapadu Kasarabada
6 21316 1 2015-06-04 Nandigama Chanderlapadu Kasarabada
7 28056 1 2015-06-04 Nandigama Chanderlapadu Kasarabada
8 12661 1 2015-06-05 Nandigama Chanderlapadu Kasarabada
9 17187 1 2015-06-05 Nandigama Chanderlapadu Kasarabada
10 28795 1 2015-06-05 Nandigama Chanderlapadu Kasarabada
I've already checked : 1. How to merge two dataframes in R based on two conditions, matching column and within a range? 2. roll join with start/end window 3. Conditional merge/replacement in R
I've been trying to solve this using merge(), cbind() and match() to no avail. I am able to merge using only serial but without the date condition.
Thank you for the help