首页 > 解决方案 > 按条件重写R中栅格图层中的值

问题描述

我给自己弄了一个名为“prah”的栅格图层,其中包含从 60 到 210 的值。我的问题很简单,我想用 100 替换所有小于 100 的值。这意味着,我希望图层中的最小值为 100。

标签: rraster

解决方案


这是一个最小的、独立的、可重现的示例,其中包括来自栅格包的一些示例数据。

示例数据

library(raster)
r <- raster(nrow=10, ncol=10, vals=61:160)

解决方案

x <- clamp(r, 100)
#or 
y <- reclassify(r, cbind(-Inf, 100, 100))

使用这个玩具示例,您还可以

r[r < 100] <- 100 

但这不是您通常应该对脚本采用的方法;因为它效率低下并且容易出现内存问题。


推荐阅读