jayinbluecity - 1 year ago 40
R Question

array operation giving me merged table

So, I made 10 matrix of 10X1 dimension, one of them looks like this,

``````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
``````

However, I want to keep last 6 observations from each matrix,
so I did,

``````   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
``````

suddenly it gives me one table, which gives me dimensional error on later algorithm,

i still want my "chain" array looks like this,
, , 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
``````

I apologize for the bad formatting,
any help will be appreciated!

We need `drop=FALSE` to prevent the subset from dropping the dimensions
``````chainsN <- chains[5:10,,,drop=FALSE]
It is mentioned in the help page of `?Extract`