2016-11-28 6 views
1

R에서 다음과 같은 문제는 많은 사람들이 쉽게 볼 수 있지만, 비교적 최근에 나왔기 때문에 도움이 될 수 있다면 매우 유용 할 것입니다. 필자는 본질적으로 다차원 (3 dims) 배열을 데이터 프레임으로 작성하여보다 쉽게 ​​조작 할 수있게하려고합니다.데이터 프레임에 다차원 배열

나는 01/1/01/1891-01/12/2015의 기간 동안 매월 해수면 온도 (SST) 데이터의 NetCDF 파일로 작업하고 있습니다. 파일에서 SST 변수를 추출하면 (ncdf4 패키지 사용) 다차원 배열이됩니다 (경도 = 360, 위도 = 180, 시간 = 1992) (NA 값을 포함하여 시간 벡터를 가로 질러 스택 된 기본적으로 전역지도 레이어 - 육지 온도).

대신 데이터 프레임이 필요합니다. 첫 번째 열은 경도, 두 번째 위도, 세 번째 시간, 네 번째 SST 값입니다. 내 문제는 치수가 같은 길이가 아니며 데이터를 올바르게 언 스택해야한다는 R의 이해를 알 수 없습니다.

I의 모습 원하는 것을 예 :

Longitude Latitude Time SST 
0,5   89.5  01/01/1891 1.25 
0.5   89  01/01/1891 1.27 
0.5   88.5  01/01/1891 1.28 
…   …  … … 
1   89.5  01/01/1891 1.28 
1   89  01/01/1891 1.29 
1   88.5  01/01/1891 1.26 
…   …  … … 
0.5   89.5  01/02/1891 1.26 
0.5   89  01/02/1891 1.28 
…   …  … … 

당신의 시간과 양해 해 주셔서 너무 감사합니다!

+0

시도를 사용할 수 있습니다; 용해 (yourarray)' – akrun

+1

** 완벽하게 일했습니다 ** ** 정말 고마워요. 나는 솔직히 왜 내가이 기능에 대해 알았지 만 쉽게 그것을 다룰 수 없을 것이라고 확신 할 수 없다는 것을 알지 못한다. @akrun –

답변

-1

우리는 라이브러리 (reshape2)`와 melt

library(reshape2) 
melt(arrayObj)