r语言 - 如何将栅格值设置为"NA"另一个栅格具有 NA 的位置



我对R和光栅数据相当陌生。我有两个大光栅层。一个光栅层只有";1〃;作为其值-所有其它值(那些不是1的值(被设置为"0";NA;我想使第二光栅层具有";NA";在第一光栅具有"0"的相同位置/像素中;NA;两个光栅层具有相同的范围和分辨率。

到目前为止,我已经尝试堆叠光栅,并使用NAvalue函数使光栅";NA";其中另一个(第一光栅(是==";NA;这不起作用。

我还认为cover((函数可能会起作用,但这只是将一层中的NA值更改为其他层中的非NA值。(但我想做相反的事情——将非NA/有效值更改为NA(。

我认为这是一个简单的解决方案;然而,我到处寻找如何执行这项任务,却一无所获。

您正在寻找mask方法

library(raster)
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
values(r) <- 1:ncell(r)
values(m) <- rep(c(1,NA,1,NA), 25)
mr1 <- mask(r, m)

因为所有值或m都是1,所以也可以进行

mr2 <- r * m

最新更新