I intend to write a code to compare if records between two dataframes match. df1 has IDs of objects with dates when they were found and weight of the objects sampled from df2. I want to verify if the data in df1 was correctly captured from df2. The first dataframes is,
df1 <- structure(list(ID = c("A5", "A8", "A15", "B11", "B35", "B36", "B45", "B50", "C2", "C3"),
DateFound = c("15/4/2020", "16/4/2020", "16/4/2020", "16/4/2020", "16/4/2021", "16/4/2021", "16/4/2021", "16/4/2021", "16/4/2021", "16/4/2021"),
Weight = c(40L, 45L, 36L, 44L, 49L, 34L, 36L, 42L, 46L, 38L)),
class = "data.frame", row.names = c(NA, -10L))
#     ID DateFound Weight
# 1   A5 15/4/2020     40
# 2   A8 16/4/2020     45
# 3  A15 16/4/2020     36
# 4  B11 16/4/2020     44
# 5  B35 16/4/2021     49
# 6  B36 16/4/2021     34
# 7  B45 16/4/2021     36
# 8  B50 16/4/2021     42
# 9   C2 16/4/2021     46
# 10  C3 16/4/2021     38
The second is,
df2 <- structure(list(ID = c("A5", "A8", "A15", "A20", "B6", "B11", 
"B35", "B36", "B37", "B40", "B45", "B50", "C2", "C3"), X13.4.2020 = c(42L, 
45L, 38L, 34L, 39L, 46L, 34L, 44L, 39L, 35L, 39L, 55L, 51L, 55L),
X14.4.2020 = c(0L, 0L, 38L, 0L, 0L, 0L, 0L, 0L, 40L, 0L, 0L, 
50L, 0L, 0L), X15.4.2020 = c(40L, 0L, 0L, 0L, 40L, 0L, 37L, 0L, 
38L, 36L, 0L, 0L, 51L, 54L), X16.4.2020 = c(0L, 46L, 39L, 0L, 
0L, 44L, 0L, 33L, 0L, 40L, 0L, 52L, 52L, 0L), X17.4.2020 = c(NA, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 43L, 0L, 0L, 0L, 42L), X16.4.2021 = c(NA, 
NA, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 42L, NA, 40L)), class = "data.frame", row.names = c(NA, -14L))
#     ID X13.4.2020 X14.4.2020 X15.4.2020 X16.4.2020 X17.4.2020 X16.4.2021
# 1   A5         42          0         40          0         NA         NA
# 2   A8         45          0          0         46          0         NA
# 3  A15         38         38          0         39          0          0
# ...
The intended output as shown below: it adds a column of the object weights from df2 for the same date recorded in df1.
df1_2output_
#     ID DateFound Weight df2
# 1   A5 15/4/2020     40  40
# 2   A8 16/4/2020     45  46
# 3  A15 16/4/2020     36  39
# 4  B11 16/4/2020     44  44
# 5  B35 16/4/2021     49   0
# 6  B36 16/4/2021     34  33
# 7  B45 16/4/2021     36   0
# 8  B50 16/4/2021     42  42
# 9   C2 16/4/2021     46  NA
# 10  C3  1/4/2021     38  40
 
    