2016-01-31 84 views
1

我目前正试图找到一种快速方法来解决我在R中的问题而不使用循环。R通过重复矩阵​​填充3D阵列

我有一个大小为N x m的矩阵A.

我想从它得到的数组B,其大小是N * M * 5,的其中B [,, I] = A对于所有0 <我< 6.

我已经不成功地试图使用rep功能,但我不能让它输出一个3D数组。 有没有办法做到这一点,或者我应该手动分配每个值?

在此先感谢。

+0

什么是所有0的B [,, i] = A'?你有没有试过'复制(5,A)' – akrun

+0

谢谢,我修好了,它已经被剪掉了。 我试过你说的,它的工作原理,非常感谢你这正是我想要的 –

回答

1

我们可以使用replicate得到输出作为array

replicate(5, A) 
0

你可以只是包装array角落找寻矩阵和“扩展”尺寸的需要数量作为dim -argument中的最后一项,并矩阵值将被“回收”:

B <- array(matrix(1:6, 2, 3), c(2,3,5))