У меня есть две таблицы, к которым я хотел бы присоединиться по условию.
Data_1 <- data.frame(Section_A = c("a","a","a","a","a","b","b","b","b","b","b","c","c","c","c"),
ID1 = c(1,2,3,4,5,10,11,12,13,14,15,20,21,22,23),
Key = c("A","A","A","B","B","C","C","C","A","B","B","A","B","C","C"))
Data_2 <- data.frame(Section_B = c("d","d","d","d","d","d","e","e","e","f","f","f","f","f","f"),
ID2 = c(31,32,33,34,35,36,41,42,43,54,55,56,57,58,59),
Key = c("B","B","A","A","C","A","C","B","A","C","A","A","C","B","A"))
При присоединении к таблицам должны выполняться следующие условия:
- Раздел_А «уровень а» может «получить» не более 2 (количество (ID2) для Раздела_А ( а) <= 2) </li>
- Секция_A «уровень b» может «получать» не более 1 (количество (ID2) для Секции_A (b) <= 1) </li>
- Секция_A »уровня c "может" получить "не более 2 (количество (ID2) для Section_A (c) <= 2) </li>
- Section_B" уровень d "может" дать "не более 2 (количество (ID2)) для Section_B (d) <= 2) </li>
- Section_B "уровень e" может "дать" не более 2 (количество (ID2) для Section_B (e) <= 2) </li>
- Section_B " уровень f "может" дать "не более 1 (количество (ID2) для Section_B (f) <= 1) </li>
- Любой из ID1 и ID2 не может повторяться в объединенной таблице.
Ожидаемый результат:
Expected_Outcome <- data.frame(Section_A = c("a","a","b","c","c"),
ID1 = c(1,2,10,20,21),
Key = c("A","A","C","B","C"),
Section_B = c("d","d", "e","e","f"),
ID2 = c(33,34,41,42,57))