如何在 R 中将数组转换为矩阵?


为了在 R 中将数组转换为矩阵,我们可以使用 apply 函数。例如,如果我们有一个名为 ARRAY 的数组,其中包含 2 个数组元素,那么我们可以使用命令 apply(ARRAY,2,c) 将此数组转换为单个矩阵。我们必须了解数组在进行转换时的维度,否则输出将不会达到预期。

示例

考虑以下数组 −

 实时演示

x1<-array(1:50,dim=c(5,5,2))
x1
, , 1

输出

    [,1] [,2] [,3] [,4]  [,5]
[1,]  1   6    11   16    21
[2,]  2   7    12   17    22
[3,]  3   8    13   18    23
[4,]  4   9    14   19    24
[5,]  5  10    15   20    25
, , 2
    [,1] [,2] [,3] [,4] [,5]
[1,] 26  31   36   41   46
[2,] 27  32   37   42   47
[3,] 28  33   38   43   48
[4,] 29  34   39   44   49
[5,] 30  35   40   45   50

将 x1 转换为矩阵 −

示例

apply(x1,2,c)

输出

    [,1] [,2] [,3] [,4] [,5]
[1,]  1    6   11   16   21
[2,]  2    7   12   17   22
[3,]  3    8   13   18   23
[4,]  4    9   14   19   24
[5,]  5   10   15   20   25
[6,] 26   31   36   41   46
[7,] 27   32   37   42   47
[8,] 28   33   38   43   48
[9,] 29   34   39   44   49
[10,] 30  35   40   45   50

示例

 实时演示

x2<-array(rpois(20,5),dim=c(10,2,2))
x2

输出

, , 1
    [,1] [,2]
[1,]  8    7
[2,]  8    9
[3,]  6    6
[4,]  5    5
[5,]  5    6
[6,]  5    7
[7,]  1    3
[8,]  8    7 
[9,]  6    3
[10,] 3    2
, , 2
   [,1] [,2]
[1,] 8    7
[2,] 8    9
[3,] 6    6
[4,] 5    5
[5,] 5    6
[6,] 5    7
[7,] 1    3
[8,] 8    7
[9,] 6    3
[10,] 3   2

将 x2 转换为矩阵 −

示例

apply(x2,2,c)

输出

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

更新于: 2021 年 3 月 17 日

4000+ 浏览量

开启你的 事业

通过完成课程获得证书

开始
广告