所以,假设我设置了S = {A1,A2},我想以3个为一组计算这两个元素的所有可能排列。
我想生成一个像这样的矩阵:
(A1 A1 A2)
(A1 A2 A1)
(A2 A1 A1)
(A2 A2 A1)
(A2 A1 A2)
(A1 A2 A2)
我正在使用R语言。我一直试图找到一些算法来生成这样的矩阵,但到目前为止还没有成功。
感谢您的帮助。
答案 0 :(得分:3)
获得所有排列的一种方法是使用unique_ptr
:
expand.grid
根据@ Forest1的建议,您可能希望排除第一行和最后一行,因为它们包含a <- c("A", "B")
expand.grid(a, a, a)
# Var1 Var2 Var3
# 1 A A A
# 2 B A A
# 3 A B A
# 4 B B A
# 5 A A B
# 6 B A B
# 7 A B B
# 8 B B B
和AAA
。这可以通过
BBB