2016-11-16 77 views
3

所以,我做了10矩阵10X1维度的,其中之一是这样的,阵列操作给我合并表

chains <- array(NA, dim = c(10, 1, 10)) 
chains 

, , 10 

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

不过,我想最后6个观测保留每个矩阵, 所以我做到了,

chains <-chains[5:10,,] 
    chains 

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

突然它给了我一个表,这给了我的尺寸误差对后来的算法,

我仍然希望我的“产业链”阵列看起来像这样, ,7

 [,1] 
[1,] NA 
[2,] NA 
[3,] NA 
[4,] NA 
[5,] NA 
[6,] NA 


, , 8 

    [,1] 
[1,] NA 
[2,] NA 
[3,] NA 
[4,] NA 
[5,] NA 
[6,] NA 


, , 9 

    [,1] 
[1,] NA 
[2,] NA 
[3,] NA 
[4,] NA 
[5,] NA 
[6,] NA 


, , 10 

    [,1] 
[1,] NA 
[2,] NA 
[3,] NA 
[4,] NA 
[5,] NA 
[6,] NA 

我的坏格式道歉, 任何帮助将不胜感激!

+0

我确认了如果我在每个矩阵中有多于1列,我会得到所需的结果。 R只有当我在每个矩阵中有1列时,才会给我合并表。 – jayinbluecity

回答

1

我们需要drop=FALSE防止掉落

chainsN <- chains[5:10,,,drop=FALSE] 
str(chainsN) 
#logi [1:6, 1, 1:10] NA NA NA NA NA NA ... 

它在?Extract

下降的帮助页面中提到的维度子集 - 对于矩阵和数组。如果TRUE结果被强制到可能的最低维数

+0

哦,哇,这很简单!非常感谢你! – jayinbluecity