1
我是一个新的程序员。最近我获得了1,850个.nc文件,这些文件被分到480个文件。每个文件名都有一个数字来表示月份。所有我想要做的是:打开多个.nc然后写入多个栅格
- 打开的所有文件.NC
- 写在12个文件,一个每个月都.NC文件光栅格式
- 平均所有光栅文件。
我知道这应该不难,但我有麻烦。到目前为止,我还没有得到过去的第2步:
library(RNetCDF)
library(raster)
library(rgdal)
files=list.files(pattern='*.nc', full.names=TRUE)
for (i in seq_along(files)){
nc=open.nc(files[i])}
list(nc)
for(i in 1:length(nc)){
rnc<-raster(nc[i])
writeRaster(rnc, filename=names(rnc), bylayer=TRUE, format="GTiff")}
正如大家所知道的,我仍然是一个新手/ R的学生,我想我有步骤1中确定,在for循环的第2步不似乎工作。一旦我完成了1和2,我可以工作3(如果你们都可以看到步骤3的简单答案,请分享)。
谢谢。
您的最终目标是计算每月平均值的权利?使用RNetCDF或ncdf4'软件包读取所有网格点值([例如这里](http://lukemiller.org/index.php/tag/oisst/))会更好还是更快?意味着然后提取到lat,long&mean值的表格。之后,从生成的表格创建栅格网格相当简单。 – Tung
是的,我想要的是计算所有480个文件的月平均值。我看着你的剧本,但不幸的是,我很难跟上它。有没有简单的方法来做到这一点,使用for循环打开.nc然后是for循环估计基于文件名的均值(例如,跳过第2步并转到第3步),或for循环写入栅格然后平均? – gren
他们不是我的。 [This one](http://lukemiller.org/index.php/2011/03/extracting-sea-surface-temperatures-from-noaas-oisstv2/)更容易遵循。我会尝试从那里开始 – Tung