R:从载体形成所有连续组合

时间:2016-01-04 15:52:06

标签: r combinations combinatorics

假设我有一个这样的矢量:

a<-c(1,2,3,4)

如何从中获取所有连续组合:

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

但没有别的? 不幸的是,我的矢量要大得多,所以手工操作会耗费太多时间。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

我们可以使用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

我们可以将上述内容概括为

 n <- length(a)
 matrix(a, ncol=n, nrow=n+1)[seq(n),]