数组操作给我合并表

时间:2016-11-16 00:12:44

标签: arrays r

所以,我制作了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

突然它给了我一张表,这给了我以后算法的尺寸误差,

我仍然想要我的&#34;链&#34;数组看起来像这样,     ,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

我为格式错误道歉, 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我们需要nil来防止子集丢弃维度

drop=FALSE

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

的帮助页面中提到了这一点
  

掉落 -   对于矩阵和数组。如果为TRUE,则结果被强制转换为可能的最低维度