多维数组到数据框
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)
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)