不确定是否有人可以帮助我解决这个问题。
我有5个不同长度值的列表。 注意:相同的值可以存在于不同的列表中。
有人知道如何获得3个列表的组合,这些列表将提供更多的总唯一值吗?
预先感谢, 米格尔
答案 0 :(得分:0)
对于您的问题,我确实没有答案,这似乎比编程更像是组合问题。我的感觉是,如果您想要一个精确的解决方案,则必须尝试5个列表中的3个列表的子集的所有可能组合(其中有10个)。如果要这样做,要记住的一件事是,如果您想要3个列表的串联中的唯一元素个数,则不必执行length(unique(c(l1,l2,l3))
,如果您有很长的列表,我想这可能效率不高。您可以将公式用于三组交集的大小,例如,您可以在https://math.stackexchange.com/questions/669249/probability-of-the-union-of-3-events上找到它。
这将只需要您计算列表所有可能的交点的长度。这可能是一次完全学术性的练习:正如我说的,我没有提供答案,但是如果您不熟悉该公式,则值得阅读,因为它与查找集合的大小有关。 >