RasterBrick R 的逐像素 dryness/wetness 频率

Pixel-wise dryness/wetness frequencies for RasterBrick R

给定 rasterbrick astandardized rainfallmonthly 时间序列数据大约 60 年,我如何在 rasterbrick 上计算以下内容无需诉诸于将数据折叠成 dataframe:

Q = negative/positive number of severely dry/wet months per total months of severely dry/wet events × 100

其中 severely wet 包括 1.50 to 1.99 范围内的值,而 severely dry 包括 −1.99 to −1.50

范围内的值

我更喜欢 Q 采用 raster 格式。下载数据集并执行:

dd=spei03_df
dd[1:2]<-dd[2:1]#swap lat and lon
a=rasterFromXYZ(dd)

有什么想法吗?谢谢。

Example data set can be found here

您可以使用 raster 包中的栅格代数。这是一个计算严重潮湿的例子。最终输出 a_wet_perc 是栅格图层,其像元值范围为 0 到 100(以百分比表示)。您可以按照相同的逻辑创建一个栅格图层来总结严重的干燥情况。

library(raster)

# Calculate the Severe Wet
a_wet <- a

# Replace vlaues >= 1.5 and <= 1.99 to 100 
# (Does not need to be 100. A very large number should be good)
a_wet[a_wet >= 1.5 & a_wet <= 1.99] <- 100
# Replace other values to 0
a_wet[a_wet < 100] <- 0
# Replace 100 to 1
a_wet[a_wet == 100] <- 1

# Calculate the percentage of severe wet
a_wet_perc <- mean(a_wet) * 100