2016-10-04 4 views
1

이 질문은 하찮은 것이 틀림 없다고 확신하지만 스택 오버플로에서 비슷한 질문을 찾을 수 없습니다. I는 array.A 병합하고자하고 array.Bresult는 어레이 A의 값의 배열 및 B. 예R : 두 개의 동일한 크기의 배열 병합

의 배열되도록 :

array.A <- array(1:9, dim=c(3,3)) 
array.B <- array(LETTERS[seq(from = 1, to = 9)], dim=c(3,3)) 

> array.A 
    [,1] [,2] [,3] 
[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 

> array.B 
    [,1] [,2] [,3] 
[1,] "A" "D" "G" 
[2,] "B" "E" "H" 
[3,] "C" "F" "I" 

는 그리고 병합하고자되도록 결과 배열 이과 같습니다

> result 
    [,1]  [,2]  [,3] 
[1,] ["A",1] ["D",4] ["G",7] 
[2,] ["B",2] ["E",5] ["H",8] 
[3,] ["C",3] ["F",6] ["I",9] 

내가 cbindrbind를 사용하여 시도했지만 이것이 내가 (내가 배열을 연결하려고하고 있지 않다) 무엇을 찾고 있어요되지 않습니다. 나는 간단한 해결책을 찾는 것처럼 보이지 않는다.

미리 감사드립니다.

+1

회원님이 정확하게 출력으로 원하는 것을 확인 - 아웃'은 <- 배열 (지도 (C , array.A, array.B), dim = dim (array.A))'두 개의 값을 포함하는'out [1,1] '을 허용 할만큼 충분히 가깝습니까? – thelatemail

+0

의견을 주셔서 감사합니다. 두 값 중 하나를 선택할 수 있어야하지만 꽤 많이 있습니다. ''A ''에 대해서는''out [1,1] [1]'과''1''의 경우에는 out [1,1] [2]와 같은 것입니다. 이것이 가능한지 모르겠습니다. –

+1

물론, [1,1] [1] [1]은 그것을해야합니다. 목록의 내용에 먼저 액세스해야합니다. – thelatemail

답변

2

그것은 구조의 전형적인 종류 아니지만, 당신이 matrix 또는 array 돌며 list 객체를 넣을 수 있습니다 :

out <- array(Map(list, array.A, array.B), dim=dim(array.A)) 
#  [,1] [,2] [,3] 
#[1,] List,2 List,2 List,2 
#[2,] List,2 List,2 List,2 
#[3,] List,2 List,2 List,2 

out[1,1] 
#[[1]] 
#[[1]][[1]] 
#[1] 1 
# 
#[[1]][[2]] 
#[1] "A" 

out[1,1][[1]][1] 
#[[1]] 
#[1] 1 

out[1,1][[1]][2] 
#[[1]] 
#[1] "A" 
+0

대단히 감사합니다! 이것이 내 질문에 완벽하게 대답하는 동안, 필자는 나의 실제 데이터에 대해이 방법을 버리고 (배열을 병합하는 것) 결국 내 목표를 달성하기에는 상당히 까다로운 방법 인 것처럼 언급해야한다 (나는 아직 초보자이다). –

관련 문제