我在R中編碼,並且我有一個包含數據的3維數組(在本例中爲ab)。然後我有一個包含第三個數組維度(idx)索引的矩陣。該矩陣具有相同數量的行和列數組。我想使用idx中包含的索引從數組中提取數據,以獲得具有相同維度idx的矩陣。請看下面的例子:R:使用索引矩陣從數組中提取矩陣
a <- c(1:9)
b <- rev(a)
#array of data
ab <- array(c(a,b), dim = c(3,3,2))
ab
, , 1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
, , 2
[,1] [,2] [,3]
[1,] 9 6 3
[2,] 8 5 2
[3,] 7 4 1
#matrix of indices
idx <- matrix(sample(1:2,9,replace=TRUE), nrow = 3)
idx
[,1] [,2] [,3]
[1,] 2 2 2
[2,] 2 1 1
[3,] 1 1 1
#now I want to get the following matrix:
[,1] [,2] [,3]
[1,] 9 6 3
[2,] 8 5 8
[3,] 3 6 9
#these two don´t do the job
ab[idx]
ab[ , ,idx]
有沒有人知道我怎麼能得到它?
非常感謝!
薩拉