#r #raster
#r #растр
Вопрос:
У меня есть несколько растров. Я сложил их все, чтобы выполнить некоторые вычисления позже, но я хотел бы присвоить некоторые значения во всех слоях 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
Ответ №1:
Это просто опечатка. Вы должны были сказать St[r2>1]<-NA
вместо St[r2>1]==NA
.