Mam stos 4 rastrów. Chciałbym średniej korelacji w czasie między pikselem a każdym z 8 sąsiadów.obliczyć średnią korelację dla sąsiednich pikseli w czasie
niektóre dane:
library(raster)
r1=raster(matrix(runif(25),nrow=5))
r2=raster(matrix(runif(25),nrow=5))
r3=raster(matrix(runif(25),nrow=5))
r4=raster(matrix(runif(25),nrow=5))
s=stack(r1,r2,r3,r4)
więc na piksel na pozycji X, która ma 8 sąsiadów w NE, E, SE, S itp pozycji, chcę średnią
cor(x,NE)
cor(x,E)
cor(x,SE)
cor(x,S)
cor(x,SW)
cor(x,W)
cor(x,NW)
cor(x,N)
oraz średnią wartość zapisaną na pozycji x w wynikowym rastrze. Komórki brzegowe byłyby NA lub, jeśli to możliwe, flagą do obliczania średniej korelacji tylko z komórkami, które dotyka (3 lub 5 komórek). Dzięki!
Prawdopodobnie szukasz funkcji "ogniskowej". –
'focal()' przyjmuje tylko obiekt warstwy rastrowej jako argument, a nie stos. Nie będzie on wyodrębniany na wielu warstwach. –