交换R中多维数组的列

swap the columns of multidimensional array in R

我想交换以下数组的第 2 列和第 3 列的值。

dat1=structure(1:18, .Dim = c(2L, 3L, 3L))
    
    
    > dat1
        , , 1
        
             [,1] [,2] [,3]
        [1,]    1    3    5
        [2,]    2    4    6
        
        , , 2
        
             [,1] [,2] [,3]
        [1,]    7    9   11
        [2,]    8   10   12
        
        , , 3
        
             [,1] [,2] [,3]
        [1,]   13   15   17
        [2,]   14   16   18

第 2 列在第 3 个位置,第 3 列在第 2 个位置。 感谢任何帮助。

您可以指定要交换的索引。例如

dat1[,3:2,]<- dat1[,2:3,]

这里有一个多维数组。当您指定 dat1[x,y,z] 时,x 值将是可见行,y 将是可见列,而 z 是您要操作的表。对于这些维度中的每一个,您可以 select 这些值中的一个或多个。所以 dat1[,2:3,] select 所有行和表中的第 2 列和第 3 列(空白参数表示“全部”)。