我正在尝试从气候数据集中计算一组凹陷(负值)的数量,并且对如何进行操作一无所知。让我解释一下这个场景。我有一个 468 层的光栅砖,每层有 7458 个单元。
> cntneg
class : RasterBrick
dimensions : 66, 113, 7458, 468 (nrow, ncol, ncell, nlayers)
resolution : 0.108, 0.108 (x, y)
extent : 77.946, 90.15, 24.946, 32.074 (xmin, xmax, ymin, ymax)
coord. ref. : NA
values : in memory
min values : -359.51 -341.21 -315.45 -148.10 -187.39 -52.87 -66.72 -52.17 -286.81 -306.74 ...
max values : -7.589 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ...
现在以第 5000 个像素为例
> cntneg[5000]
随着时间的推移,这将为我提供该像素的 468 个值。
[1] -90.795107 -89.990016 -94.840754 0.000000 -15.085517 0.000000
[7] 0.000000 0.000000 0.000000 -12.469657 -114.757702 -115.372023
[13] -107.194478 -92.916680 -115.105817 -113.205776 -115.003430 -62.175070
[19] 0.000000 0.000000 0.000000 -72.358073 -105.006508 -115.372023
[25] -48.836959 -102.314928 -113.271826 -115.372023 -79.530055 0.000000
[31] 0.000000 0.000000 0.000000 -15.048987 -115.208204 -115.372023
[37] -115.003430 -108.757617 -113.122594 -115.372023 -111.699048 -17.618498
[43] 0.000000 0.000000
现在在这里我需要做两个任务
1)计算降雨量低于平均值的次数 - 那些具有负值的次数。为了便于计算,零具有正 RF 值(我使用重新分类将其转换为零)。在上面的示例中,我想选择负数组并计数。即,(-90.795107 -89.990016 -94.840754),(-15.085517),(-12.469657 -114.757702 -115.372023,-107.194478 -92.916680 -115.105817 -113.205776 -115.003430 -62.175070),(-72.358073 -105.006508 -115.372023,-48.836959 -102.314928 -113.271826 -115.372023 -79.530055) 等。生成的图层像素值应该是这些组的计数,在这种情况下为 5。同样需要对时间维度上的所有像素进行处理。
2)对于我想选择最小值的每个组,结果像素将具有这些最小值的总和。如果一个组有一个值,请保持相同。
我坚持从这个过程开始。我假设我需要将砖块转换为数据框并执行此操作。
任何人都可以帮助我指导如何去做吗?
非常感谢任何帮助。
对不起,如果解释令人困惑。
问候 SP