use*_*786 3 combinations r combinatorics
假设我有这样的矢量:
a<-c(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
如何从中获取所有连续组合:
1,2,3,4
2,3,4,1
3,4,1,2
4,1,2,3
Run Code Online (Sandbox Code Playgroud)
但没有别的?不幸的是,我的矢量要大得多,所以手工操作会耗费太多时间.谢谢你的帮助.
我们可以用 matrix
matrix(a, ncol=4, nrow=5)[1:4,]
# [,1] [,2] [,3] [,4]
#[1,] 1 2 3 4
#[2,] 2 3 4 1
#[3,] 3 4 1 2
#[4,] 4 1 2 3
Run Code Online (Sandbox Code Playgroud)
我们可以将上述概括为
n <- length(a)
matrix(a, ncol=n, nrow=n+1)[seq(n),]
Run Code Online (Sandbox Code Playgroud)