如何将列表转换为R中的矩阵?

如果我们有一个包含向量的列表,这些向量总共具有偶数个元素,那么我们可以创建这些元素的矩阵。例如,如果列表包含8个向量,并且这8个向量中的元素总数为100或2的任何其他倍数,那么我们可以创建这些元素的矩阵。这可以通过在矩阵函数内部使用unlist函数来完成。

示例

请看以下列表x-

> x<-list(1:25,26:50,51:75,76:100,101:125,126:150,151:175,176:200)

> x

[[1]]

  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

[[2]]

  [1] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

[[3]]

  [1] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75

[[4]]

  [1] 76 77 78 79 80  81 82 83 84 85 86 87 88 89 90 91 92 93 94

 [20] 95 96 97 98 99 100

[[5]]

 [1] 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

[20] 120 121 122 123 124 125

[[6]]

 [1] 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

[20] 145 146 147 148 149 150

[[7]]

 [1] 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

[20] 170 171 172 173 174 175

[[8]]

 [1] 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194

[20] 195 196 197 198 199 200

> Matrix_x <- matrix(unlist(x), ncol = 10, byrow = TRUE)

> Matrix_x

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

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

 [2,]  11  12  13   14   15   16   17   18   19   20

 [3,]  21  22  23   24   25   26   27   28   29   30

 [4,]  31  32  33   34   35   36   37   38   39   40

 [5,]  41  42  43   44   45   46   47   48   49   50

 [6,]  51  52  53   54   55   56   57   58   59   60

 [7,]  61  62  63   64   65   66   67   68   69   70

 [8,]  71  72  73   74   75   76   77   78   79   80

 [9,]  81  82  83   84   85   86   87   88   89   90

[10,]  91  92  93   94   95   96   97   98   99  100

[11,] 101 102 103  104  105  106  107  108  109  110

[12,] 111 112 113  114  115  116  117  118  119  120

[13,] 121 122 123  124  125  126  127  128  129  130

[14,] 131 132 133  134  135  136  137  138  139  140

[15,] 141 142 143  144  145  146  147  148  149  150

[16,] 151 152 153  154  155  156  157  158  159  160

[17,] 161 162 163  164  165  166  167  168  169  170

[18,] 171 172 173  174  175  176  177  178  179  180

[19,] 181 182 183  184  185  186  187  188  189  190

[20,] 191 192 193  194  195  196  197  198  199  200

> Matrix_x <- matrix(unlist(x), ncol = 10)

> Matrix_x

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

 [1,]  1  21 41 61 81 101 121 141 161 181

 [2,]  2  22 42 62 82 102 122 142 162 182

 [3,]  3  23 43 63 83 103 123 143 163 183

 [4,]  4  24 44 64 84 104 124 144 164 184

 [5,]  5  25 45 65 85 105 125 145 165 185

 [6,]  6  26 46 66 86 106 126 146 166 186

 [7,]  7  27 47 67 87 107 127 147 167 187

 [8,]  8  28 48 68 88 108 128 148 168 188

 [9,]  9  29 49 69 89 109 129 149 169 189

[10,] 10  30 50 70 90 110 130 150 170 190

[11,] 11  31 51 71 91 111 131 151 171 191

[12,] 12  32 52 72 92 112 132 152 172 192

[13,] 13  33 53 73 93 113 133 153 173 193

[14,] 14  34 54 74 94 114 134 154 174 194

[15,] 15  35  55 75 95 115 135 155 175 195

[16,] 16  36 56 76 96 116 136 156 176 196

[17,] 17  37  57 77 97 117 137 157 177 197

[18,] 18  38  58 78 98 118 138 158 178 198

[19,] 19  39  59 79 99 119 139 159 179 199

[20,] 20  40  60 80 100 120 140 160 180 200

以上是 如何将列表转换为R中的矩阵? 的全部内容, 来源链接: utcz.com/z/354246.html

回到顶部