Как да присвоите някои стойности в Stack с помощта на независим растер?

Имам няколко растера. Подредих ги всички, за да направя някои изчисления по-късно, но бих искал да присвоя някои стойности във всички слоеве на NA въз основа на друг растер.

кодът:

library(raster)
r <- raster(nrows=10, ncols=10)
r <- setValues(r, 1:ncell(r))
r1 <- raster(nrows=10, ncols=10)
r1 <- setValues(r1, 1:ncell(r))
r2 <- raster(nrows=10, ncols=10)
r2 <- setValues(r1, 1:ncell(r))
St=stack(r,r1)
St[r2>1]==NA
#         layer.1 layer.2
#  [1,]      NA      NA
#  [2,]      NA      NA
#  [3,]      NA      NA
#  [4,]      NA      NA
#  [5,]      NA      NA

Но когато написах St открих, че min и max са 1 и 100, което означава, че не са присвоени на NA?

St
# class       : RasterStack 
# dimensions  : 10, 10, 100, 2  (nrow, ncol, ncell, nlayers)
# resolution  : 36, 18  (x, y)
# extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
# coord. ref. : +proj=longlat +datum=WGS84 
# names       : layer.1, layer.2 
# min values  :       1,       1 
# max values  :     100,     100 

person sacvf    schedule 04.07.2014    source източник


Отговори (1)


Това е просто печатна грешка. Трябваше да кажеш St[r2>1]<-NA вместо St[r2>1]==NA.

person nograpes    schedule 06.07.2014