На самом деле у меня нет ответа на ваш вопрос, который кажется скорее вопросом комбинаторики, чем программированием.Я чувствую, что если вы хотите получить точное решение, вам нужно попробовать все возможные комбинации подмножеств из 3 списков из 5 (их 10).Помните, что если вы идете по этому пути, то если вам нужно количество уникальных элементов объединения трех списков, вам не обязательно делать length(unique(c(l1,l2,l3))
, что, я думаю, может быть неэффективным, если у вас очень длинные списки.Вы можете использовать формулу для размера пересечения 3 наборов, которую вы можете найти, например, в https://math.stackexchange.com/questions/669249/probability-of-the-union-of-3-events.Для этого вам потребуется только вычислить длину всех возможных пересечений списков.это может быть чисто академическое упражнение: как я уже сказал, я не предлагаю ответ, но если вы не знакомы с этой формулой, ее стоит прочитать, поскольку она имеет отношение к проблеме определения размера набора.