我有一个像这样的数组:
, , 1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
, , 2
[,1] [,2] [,3]
[1,] 10 13 16
[2,] 11 14 17
[3,] 12 15 18
, , 3
[,1] [,2] [,3]
[1,] 19 22 25
[2,] 20 23 26
[3,] 21 24 27
Run Code Online (Sandbox Code Playgroud)
我想为每个组件添加一个列,填充0,最后得到这个:
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 4 7 0
[2,] 2 5 8 0
[3,] 3 6 9 0
, , 2
[,1] [,2] [,3] [,4]
[1,] 10 13 16 0
[2,] 11 14 17 0
[3,] 12 15 18 0
, , 3
[,1] [,2] [,3] [,4]
[1,] 19 22 25 0
[2,] 20 23 26 0
[3,] 21 24 27 0
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来使用R?
这是一种方式:
library(abind)
abind(x, array(0, replace(dim(x), 2, 1)), along = 2)
Run Code Online (Sandbox Code Playgroud)
还有一个:
aperm(apply(x, c(1, 3), c, 0), c(2, 1, 3))
Run Code Online (Sandbox Code Playgroud)