翻转矩阵列

时间:2018-06-01 20:13:48

标签: r

我有一个矩阵:

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    9   13   17
[2,]    2    6   10   14   18
[3,]    3    7   11   15   19
[4,]    4    8   12   16   20

我想翻转它,以便最后一列是第一列,第一列是最后一列。 我知道如何使用循环,但有没有其他更快的方法来做到这一点,例如有功能。

以下是创建矩阵的代码:

mat=matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20), ncol=5)

1 个答案:

答案 0 :(得分:1)

我们可以使用从最后一列索引到第一列的反向排序来进行翻转

mat[,ncol(mat):1]

它可以包装成一个函数

revflip <- function(matr) {
          matr[, ncol(matr):1, drop = FALSE]
  }

revflip(mat)