Ho una pila di 4 raster. Vorrei la correlazione media nel tempo tra un pixel e ciascuno dei suoi 8 vicini.calcolo della correlazione media per pixel adiacenti nel tempo
alcuni dati:
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)
così per un pixel alla posizione x, che ha 8 vicini al NE, E, SE, S ecc posizioni, voglio che la media di
cor(x,NE)
cor(x,E)
cor(x,SE)
cor(x,S)
cor(x,SW)
cor(x,W)
cor(x,NW)
cor(x,N)
e il valore medio salvato nella posizione x nel raster risultante. Le celle di bordo sarebbero NA o, se possibile, una bandiera per calcolare la correlazione media solo con le celle che tocca (3 o 5 celle). Grazie!
Probabilmente stai cercando la funzione 'focale '. –
'focal()' accetta solo un oggetto di livello raster come argomento, non come una pila. Non verrà estratto su più livelli. –