根据 R 中的现有值替换栅格中元素的百分比

Replace a percentage of elements in a raster per the existing values in R

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

其中 raster 是 RasterLayer 对象。

我们使用 raster[raster[]==3]

找到等于 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))