【发布时间】:2017-04-11 23:02:54
【问题描述】:
R 中的以下问题对你们中的许多人来说似乎很容易,但由于我对此相对较新,如果你能帮助我,那将非常有帮助。我想写一个多维(3 维度)数组作为我可以更容易操作的数据框。
我正在处理 1891 年 1 月 1 日至 2015 年 1 月 12 日期间每月海表温度 (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
… … … …
非常感谢您的时间和耐心!
【问题讨论】:
-
试试
library(reshape2); melt(yourarray) -
工作完美!!非常感谢。老实说,我不知道为什么我确信它不能那么容易地处理它,尽管我知道这个功能。 @akrun
标签: arrays r multidimensional-array dataframe netcdf