나는 R의 입체 배열 X
을 가지고 있습니다. indx
(길이는 dim(X)[1]
과 같습니다)의 벡터를 가져 와서 첫 행이 첫 행인 행렬을 만들고 싶습니다 행 X[ , , indx[1]]
, 두 번째 행은 X[ , , indx[2]]
의 두 번째 행, 등등입니다.3 차원 배열의 행에서 양식 행렬
예를 들어, 내가 가진 : 나는 우아 (느린) sapply(1:dim(X)[2], function(x) X[cbind(1:3, x, indx)])
를 사용하고 현재로서는
R> X <- array(1:18, dim = c(3, 2, 3))
R> X
, , 1
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
, , 2
[,1] [,2]
[1,] 7 10
[2,] 8 11
[3,] 9 12
, , 3
[,1] [,2]
[1,] 13 16
[2,] 14 17
[3,] 15 18
R> indx <- c(2, 3, 1)
내 원하는 출력은
R> rbind(X[1, , 2], X[2, , 3], X[3, , 1])
[,1] [,2]
[1,] 7 10
[2,] 14 17
[3,] 3 6
입니다. 기본 제공 인덱싱 함수를 사용하여이를 수행 할 수있는 방법이 있습니까? 나는 행운을 ?Extract
에 설명 된 행렬 색인 방법으로 실험했지만, 잘못했을 수도 있습니다. 어쩌면이 같은
관련 항목 : http://stackoverflow.com/q/3551955/210673 – Aaron