多维数组到数据框

Multidimensional array into data frame

R 中的以下问题对你们中的许多人来说似乎很容易,但由于我对此比较陌生,如果你能帮助我,那将是非常有帮助的。我想写一个多维(3 维)数组作为我可以更轻松地操作的数据框。

我正在处理 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
…           …        …  …

非常感谢您的时间和耐心等待!

我们可以使用melt

library(reshape2)
melt(arrayObj)