如何通过条件将所有值分配给NA?
library(raster)
r1 <- r2 <- r3 <- raster(ncol=10, nrow=10)
r1[] <- runif(ncell(r1))
r2[] <- runif(ncell(r2)) / 2
r3[] <- runif(ncell(r3)) * 1.5
s <- stack(r1, r2, r3)
r11 <- r22 <- r33 <- raster(ncol=10, nrow=10)
r11[] <- runif(ncell(r11))
r22[] <- runif(ncell(r22)) / 2
r33[] <- runif(ncell(r33)) * 1.5
g <- stack(r11, r22, r33)
如果g中的任何像素是&gt; = 5,则可以在s = na中进行相应的像素,
可以这样完成:
s[g >= 5]= NA
,但此像素的所有时间序列s = na
library(raster)
r1 <- r2 <- r3 <- raster(ncol=10, nrow=10)
r1[] <- runif(ncell(r1))
r2[] <- runif(ncell(r2)) / 2
r3[] <- runif(ncell(r3)) * 1.5
s <- stack(r1, r2, r3)
r11 <- r22 <- r33 <- raster(ncol=10, nrow=10)
r11[] <- runif(ncell(r11))
r22[] <- runif(ncell(r22)) / 2
r33[] <- runif(ncell(r33)) * 1.5
g <- stack(r11, r22, r33)
If any pixel in g is >= 5, make the corresponding pixel in s = NA
which can be done like this:
s[g >= 5]= NA
but also all time series of this pixel in s = NA
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
让我们用“ Terra”(替换“栅格”)来做到这一点。
示例数据
将
s
中的所有值设置为na,如果g
中的单元格大于或等于其任何层中的5个。Let's do this with "terra" (the replacement of "raster").
Example data
Set all values in
s
to NA if a cell ing
is larger than or equal to 5 in any of its layers.