2014-07-04 3 views
0

나는 몇 개의 래스터를 가지고있다. 나중에 계산을하기 위해 모두 쌓았지만, 다른 래스터를 기반으로 모든 레이어의 값을 NA에 할당하고 싶습니다.독립형 래스터를 사용하여 스택에서 일부 값을 할당하는 방법은 무엇입니까?

코드 : I가 입력 된 경우 St

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 

하지만 I는 최소 및 최대의 NA가 할당되지 않은 것을 의미하는 1과 100 인 것으로 밝혀?

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 

답변

2

단지 오타입니다. St[r2>1]==NA 대신 St[r2>1]<-NA이라고 말 했어야합니다.