2016-11-28 57 views
1

R中的以下問題對您來說似乎很容易,但由於我對此比較陌生,如果您可以幫助我,這將非常有幫助。我想基本上寫一個多維(3 dims)數組作爲數據框,我可以更容易地操作。將多維數組放入數據框中

我正在處理01/01/1891-01/12/2015期間每月海面溫度(SST)數據的NetCDF文件。從文件中提取SST變量(使用ncdf4包)會產生一個多維數組(經度= 360,緯度= 180,時間= 1992)(基本上全局地圖圖層跨越時間矢量堆疊,包括NA值 - 在陸地上溫度)。

我想要的是一個數據框,其中:第一列是經度,第二個緯度,第三個時間,第四個SST值。我的問題是尺寸不是相同的長度,我看不出如何讓R理解它需要正確地取消堆疊數據。

什麼,我想看起來像一個例子:

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

嘗試用'庫(reshape2);熔化(yourarray)' – akrun

+1

**工作完美!! **非常感謝。我真的不知道爲什麼我確信它不能很容易地處理它,雖然我知道這個功能。 @akrun –

回答

-1

我們可以使用melt

library(reshape2) 
melt(arrayObj)