I have the following two tables:
df <- data.frame(eth = c("A","B","B","A","C"),ZIP1 = c(1,1,2,3,5)) Inc <- data.frame(ZIP2 = c(1,2,3,4,5,6,7),A = c(56,98,43,4,90,19,59), B = c(49,10,69,30,10,4,95),C = c(69,2,59,8,17,84,30)) eth ZIP1 ZIP2 ABC A 1 1 56 49 69 B 1 2 98 10 2 B 2 3 43 69 59 A 3 4 4 30 8 C 5 5 90 10 17 6 19 4 84 7 59 95 39
I would like to create an Inc variable in the df data frame, where for each case, the value is the intersection of eth and ZIP of the case. In my example, this will result in:
eth ZIP1 Inc A 1 56 B 1 49 B 2 10 A 3 43 C 5 17
A loop or pretty brute force can solve it, but it takes time for my data set, I'm looking for a more subtle way, perhaps using data.table. It seems to me that this is a very standard question, and I apologize, if so, for my inability to formulate an exact heading for this problem (as you may have noticed ..), perhaps why I did not find such a question in a search on the forum ..
Thanks!