首页 > 解决方案 > 根据 R 中的现有值替换栅格中元素的百分比

问题描述

我有一个包含值 1:5 的 RasterLayer。我想随机选择 10% 的值为 3 的单元格并将它们转换为包含 6。

标签: rmatrixraster

解决方案


其中 raster 是 RasterLayer 对象。

我们找到等于 3 的单元格使用raster[raster[]==3]

然后我们用相同长度的向量替换它,随机抽样 3 或 6,概率分别为 90% 和 10%。

raster[raster[]==3] <- sample(c(3, 6),
                              size = length(raster[raster[]==3]),
                              replace  = T,
                              prob = c(0.9, 0.1))


推荐阅读