gpt4 book ai didi

R:返回 n 个元素的所有可能排序的函数?

转载 作者:行者123 更新时间:2023-12-04 11:16:29 27 4
gpt4 key购买 nike

在 R 中,是否有一个函数可以返回 n 个元素的所有可能排序?
我要n!由 n 个矩阵,使得每行包含 n 个元素的所有可能的排序索引。也就是说,如果 n = 3,我想要:

 1,2,3 
1,3,2,
2,1,3,
2,3,1,
3,1,2,
3,2,1

我首先想到 expand.grid 可以完成这项工作,并尝试过:
n <- 3
expand.grid(rep(list(1:n),n))

Var1 Var2 Var3
1 1 1 1
2 2 1 1
3 3 1 1
4 1 2 1
5 2 2 1
6 3 2 1
7 1 3 1
8 2 3 1
9 3 3 1
10 1 1 2
11 2 1 2
12 3 1 2
13 1 2 2
14 2 2 2
15 3 2 2
16 1 3 2
17 2 3 2
18 3 3 2
19 1 1 3
20 2 1 3
21 3 1 3
22 1 2 3
23 2 2 3
24 3 2 3
25 1 3 3
26 2 3 3
27 3 3 3

但这会返回 3^3 x 3 矩阵,每行可能包含重复值...

最佳答案

尝试

library(gtools)
permutations(n,3)
# [,1] [,2] [,3]
#[1,] 1 2 3
#[2,] 1 3 2
#[3,] 2 1 3
#[4,] 2 3 1
#[5,] 3 1 2
#[6,] 3 2 1

关于R:返回 n 个元素的所有可能排序的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com