2016-04-02 2 views
0

У меня растровый кирпич SCA (nrow = 108, ncol = 132, nlayers = 365), который содержит дробный снежный покров. Я хочу сделать 46 стеков из каждого из 8 слоев и вычислить максимальный фракционный снежный покров из этих 46 стеков. Как я могу это сделать?Как пройти через растровый кирпич?

ответ

3

Я думаю, что вы можете сделать это таким образом:

library(raster) 
# example data 
sca <- brick(nrow=108,ncol=132,nl=365) 
values(sca) <- runif(ncell(sca)*nlayers(sca)) 

# indices grouping sets of 8 
i <- rep(1:ceiling(365/8), each=8) 
# the last period is not a complete set of 8 days 
i <- i[1:nlayers(sca)] 

x <- stackApply(sca, i, max) 

Если вы хотите петлю (но это R, старайтесь избегать петель) вы могли бы сделать

for (i in 1:nlayers(sca)) { 
    x <- sca[[i]] 
    # etc. 
}