从R中的数组中的多个矩阵中提取并存储特定位置

Extract and store a specific position from multiple matrices in an array in R

抱歉,新手... 我有一个名为 "y" 的数组对象,包含 500 个 6x6 矩阵,如下所示:

, , 1
       [,1]   [,2]   [,3]   [,4]   [,5]   [,6]
[1,] 0.0000 0.3627 0.4132 0.4231 0.3795 0.5444
[2,] 0.3627 0.0000 0.2084 0.3523 0.2310 0.5377
[3,] 0.4132 0.2084 0.0000 0.1984 0.2920 0.4774
[4,] 0.4231 0.3523 0.1984 0.0000 0.2787 0.4363
[5,] 0.3795 0.2310 0.2920 0.2787 0.0000 0.5129
[6,] 0.5444 0.5377 0.4774 0.4363 0.5129 0.0000

[...]

, , 500
       [,1]   [,2]   [,3]   [,4]   [,5]   [,6]
[1,] 0.0000 0.3755 0.3568 0.3835 0.3582 0.5065
[2,] 0.3755 0.0000 0.0840 0.2253 0.2237 0.4066
[3,] 0.3568 0.0840 0.0000 0.1673 0.2434 0.4073
[4,] 0.3835 0.2253 0.1673 0.0000 0.2338 0.3403
[5,] 0.3582 0.2237 0.2434 0.2338 0.0000 0.4263
[6,] 0.5065 0.4066 0.4073 0.3403 0.4263 0.0000

我想通过数组中的所有 500 个矩阵提取特定位置,并将这 500 个值存储在名为 "unouno" 的向量中以供进一步分析

我正在尝试这样做:

for (i in 1:dim(y)[[3]]){
unouno<-y[2,1,i, drop=F]
}

但它只提取最后一个(第 500 个)矩阵的值。

(一旦解决这个问题,我想分别提取和存储矩阵中每个 6 x 6 位置的 500 个值)

我们可以通过将第 3 个维度留空来做到这一点

y[2,1,]

数据

y <- array(1:60, dim=c(10,2,3))

如果您想修复循环,这可能是一种方法:

unouno <- NULL
for (i in 1:dim(y)[3]){
  unouno[i]<-y[2,1,i]
}

看来您也没有在向量 unouno 上建立索引