저는 3 차원 배열을 가지고 있고, 하나의 차원을 행별로 쌓아서 (1 차원의 행을 결합하여) 2 차원으로 축소하려고합니다. 제 코드에서는 각 색인에 2 차원 배열로 "워크 시트"(3 차원)을 채웠습니다. 이제는이 3 차원 배열을 가져 와서이 시트의 행을 서로 겹치기를 원합니다. 여기2D 배열을 만들기 위해 시트 배열을 3D 배열에 바인딩합니다.
예를 들어 배열 그래서 내가 최종 결과 모양을하고 싶은 설명 할 수 : 2에서 서로 위에 쌓인하는 내가 w
, x
, y
, z
싶습니다
x <- array(1:24, dim=c(2, 3, 4),
dimnames=list(letters[1:2], LETTERS[1:3], letters[23:26]))
dim(x)
차원 행은 8 행 3 열을 가질 것입니다.
x1<-x[,,1]
x2<-x[,,2]
x3<-x[,,3]
x4<-x[,,4]
All<-rbind(x1,x2,x3,x4)
내가 abind
및 adrop
살펴 보았다 그러나 그들은 매우 잘되지 않습니다 : 여기에 (내 루프에서 가능한 한하지 않음) 복잡 그것을 할 수있는 방법입니다. 내가 만들 수
는 또한 aperm
을 시도했지만 난 그냥 트랜스 (?)
을 또는이와 크기를 줄일 수 있다고 생각하지 않는 list
(배열이있을 수 있기 때문에이 사실, 이상적 일 것이다 다른 행 번호). 이 경우 목록에서 여러 요소의 행을 같은 방식으로 결합하는 방법은 무엇입니까?
감사합니다.
'abind' 패키지를보세요 –
'apply (x, 2, c)'어쩌면? – thelatemail
Q를 잘못 해석했기 때문에 내 대답을 삭제했습니다. @thelatemail이 켜져 있습니다. 리스트를 가지고 작업하고 싶다면'L'리스트에'do.call (rbind, L)'을 쓰면된다. – jbaums