2013-10-02 3 views
0

안녕하세요. 여기에 재현 사례를 전합니다. 나는 세 개의 래스터를 가지고 있고 그것들을 겹쳐 쌓았다. 나는 NA 50 위의 값을 대체 할하지만 오류가 무엇입니까?스택에서 NA로 값을 대체하는 방법은 무엇입니까?

 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(r2, 1:ncell(r)) 
    St=stack(r,r1,r2) 

    NAvalue(St) <- >50 
    Error: unexpected '>=' in "NAvalue(St) = >=" 

어떤 도움을 주셔서 감사

+0

어떻게 St''에 정의 된 "값"? –

+0

당신은 말합니다 : "나는 50보다 큰 값으로 바꾸고 싶습니다."St @ layers [2] @ data @ values'의 값을 의미합니까? –

답변

5
> St[9,9] 
    layer.1 layer.2 layer.3 
[1,]  89  89  89 
> St[St >50] <- NA 
> St[9,9] 
    layer.1 layer.2 layer.3 
[1,]  NA  NA  NA