我有一个包含16年(1998-2014)日降水量(5844层)的netCDF文件(.nc)。三个维度是时间(大小为5844),纬度(大小为19)和经度(大小为20)。
在R中,是否有一种简单的方法来计算每个栅格单元格:
我的第一个挑战将是计算每个栅格单元的月平均值。我不确定在考虑最终目标(累积比较)的同时如何最好地进行。我如何轻松访问某个月份的日期?
希望我的问题表述清楚了,初步的正确方向指引将不胜感激。 样本数据在这里。
- 每月和每年平均值
- 累积比较(例如,jan-mar与所有jan-mar的平均值相比)
library(ncdf4)
library(raster)
Rname <- 'F:/extracted_rain.nc'
rainfall <- nc_open(Rname)
readRainfall <- ncvar_get(rainfall, "rain") #"rain" is float name
raster_rainfall <- raster(Rname, varname = "rain") # also tried brick()
asdatadates <- as.Date(rainfall$dim$time$vals/24, origin='1998-01-01') #The time interval is per 24 hours
我的第一个挑战将是计算每个栅格单元的月平均值。我不确定在考虑最终目标(累积比较)的同时如何最好地进行。我如何轻松访问某个月份的日期?
raster(readRainfall[,,500])) # doesn't seem like a straightforward approach
希望我的问题表述清楚了,初步的正确方向指引将不胜感激。 样本数据在这里。
xts
类型,并使用函数apply.monthly
和apply.yearly
进行计算。但也许 @joberlin 的方法更好,因为它使用了 rasterstack。 - raymkchow