选择所有可能的组合来配对 R 中两个向量的元素
Choosing all possible combinations for pairing the elements of two vectors in R
我有一个数学上很难掌握的问题。所以希望我可以通过这个简化的示例了解我想做的事情:
假设我必须使用长度为 n = 3 的向量。
a <- 1:3
b <- 1:3
我想知道我有多少次能够在没有替换的情况下绘制 a 的三个元素和 b 的元素并将它们配对,其中顺序无关紧要,并得到一个唯一的集合。一对 (1 2) 与 (2 1) 不同,但我不想有这样的东西
1 2
2 1
1 3,
因为我不希望任何元素(按列)重复。然而,在该示例中,1 在第一列中出现了两次。
两组有效配对是
1 1
2 2
3 3
或
1 3
2 2
3 1.
我已经弄清楚它不是 n*n 选择 k,这将是 84,就像在没有替换的无序采样问题中一样。
最终目标是从长度为 n = 20 的两个向量中计算 20 个组合的独特对数。
如果你从更简单的东西开始,比如两个向量 1,2
那么组合是 2! = 2
,因为 1
可以与 1,2
中的任何一个匹配(2 个选择) 和 2
肯定会得到剩下的东西(0 个选择),比如
1 1 | 1 2
2 2 | 2 1
如果考虑两个向量1,2,3
那么组合就是3! = 3*2 = 6
,因为1可以和1,2,3
中的任意一个匹配(3个选项),那么2
可以与剩余的 2 个数字中的任何一个(最上面的 2 个选项)匹配,然后 3
肯定会得到剩余的任何数字(0 个选择),例如:
1 1 | 1 1 | 1 2 | 1 2 | 1 3 | 1 3
2 2 | 2 3 | 2 1 | 2 3 | 2 2 | 2 1
3 3 | 3 2 | 3 3 | 3 1 | 3 1 | 3 2
所以对于 1,2,3,...,20
的两个向量,您将得到 20!选项。
我有一个数学上很难掌握的问题。所以希望我可以通过这个简化的示例了解我想做的事情:
假设我必须使用长度为 n = 3 的向量。
a <- 1:3
b <- 1:3
我想知道我有多少次能够在没有替换的情况下绘制 a 的三个元素和 b 的元素并将它们配对,其中顺序无关紧要,并得到一个唯一的集合。一对 (1 2) 与 (2 1) 不同,但我不想有这样的东西
1 2
2 1
1 3,
因为我不希望任何元素(按列)重复。然而,在该示例中,1 在第一列中出现了两次。
两组有效配对是
1 1
2 2
3 3
或
1 3
2 2
3 1.
我已经弄清楚它不是 n*n 选择 k,这将是 84,就像在没有替换的无序采样问题中一样。
最终目标是从长度为 n = 20 的两个向量中计算 20 个组合的独特对数。
如果你从更简单的东西开始,比如两个向量 1,2
那么组合是 2! = 2
,因为 1
可以与 1,2
中的任何一个匹配(2 个选择) 和 2
肯定会得到剩下的东西(0 个选择),比如
1 1 | 1 2
2 2 | 2 1
如果考虑两个向量1,2,3
那么组合就是3! = 3*2 = 6
,因为1可以和1,2,3
中的任意一个匹配(3个选项),那么2
可以与剩余的 2 个数字中的任何一个(最上面的 2 个选项)匹配,然后 3
肯定会得到剩余的任何数字(0 个选择),例如:
1 1 | 1 1 | 1 2 | 1 2 | 1 3 | 1 3
2 2 | 2 3 | 2 1 | 2 3 | 2 2 | 2 1
3 3 | 3 2 | 3 3 | 3 1 | 3 1 | 3 2
所以对于 1,2,3,...,20
的两个向量,您将得到 20!选项。