多维数组转化为数据框架

3
以下问题在R中可能对许多人来说很容易,但由于我相对新手,如果您能帮助我,那将非常有帮助。我想要编写一个多维(3维)数组,将其作为数据框以便更轻松地操作。
我正在使用NetCDF文件处理1891年1月1日至2015年12月1日的每月海表温度(SST)数据。从文件中提取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
…           …        …  …

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

1
尝试使用 library(reshape2); melt(yourarray) - akrun
1
完美运行!!非常感谢。老实说,我不知道为什么我觉得它不会那么容易处理,尽管我知道这个函数。@akrun - George Pexas
1个回答

4
我们可以使用melt函数。
library(reshape2)
melt(arrayObj)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接