【发布时间】:2016-09-06 09:55:31
【问题描述】:
我想知道是否有一种直接的方法可以在R 中交换matrix 的任何一对列。
假设我们要交换矩阵中的第一列 (i=1) 和第三列 (j=3)
n=3
mat <- matrix(1:(n^2),ncol=n)
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
无论矩阵的大小n如何,以下始终有效
i=1; j=3
mat2 <- mat[,i]
mat[,i] <- mat[,j]
mat[,j] <- mat2
而像cbind(mat[,3],mat[,2],mat[,1])(在早期线程SO1 和SO2 中建议)这样的直接命令仅限于给定的n。
有没有更直接的方法来交换大小为n 的矩阵中的两列i 和j?
【问题讨论】: