You have two data frames:
df <- data.frame(A = c(1,1,2,2,3,3), B = c('cat','dog','cat','dog','cat','dog'), C = c(100,200,300,400,500,600))
df2 <- data.frame(A = c(1,1,1,1,2,2,2,2,3,3,3,3), B = c('cat','dog','cat','dog','cat','dog'))
Output df1:
A B C
1 cat 100
1 dog 200
2 cat 300
2 dog 400
3 cat 500
3 dog 600
Output df2:
A B
1 cat
1 dog
1 cat
1 dog
2 cat
2 dog
2 cat
2 dog
3 cat
3 dog
3 cat
3 dog
I know how to match single values such that when 'A' values match on df and df2 it will add that value to df2:
df2$match <- df$C[match(df2$A, df$A)]
Output:
A B match
1 cat 100
1 dog 100
1 cat 100
1 dog 100
2 cat 300
2 dog 300
2 cat 300
2 dog 300
3 cat 500
3 dog 500
3 cat 500
3 dog 500
How do you match multiple values such that the value of 'C' will be matched when 'A' and 'B' are the same across df and df2?