1 votos

Paquete de suavización de series temporales rasterizadas con R

¿Alguien sabe si existe un paquete en R específico para el suavizado de series temporales rasterizadas?

Estoy utilizando enfoques como este (utilizando la ecuación sugerida por Hamunyella et al., 2013)

for (i in 2:(length(stacklist)-1)){
r <-  raster(stacklist[i])
r1 <- raster(stacklist[i-1])
r3 <- raster(stacklist[i+1])
r2<-mean(r1,r3)
r[((r-r1)<(-0.01*r1)) & ((r-r3)<(-0.01*r3))]<-r2[((r-r1)<(-0.01*r1)) & ((r-r3)<(-0.01*r3))]
writeRaster(r,filename=paste(substr(stacklist[i], p1+1, (p1+7)),"_cropmLname.tif",sep=""),format="GTiff",overwrite=TRUE)
}

Es rápido, pero no hay ninguna manera más fácil? Por ejemplo, para implementar otro tipo de filtro, como Savitzky-Golay, filtrado de doble logística?

4voto

SteveBurkett Puntos 960

En lugar de buscar un paquete específico para series temporales rasterizadas, podría buscar funciones para el suavizado, y luego utilizarlas con la función calc en la función raster paquete. Este es un ejemplo de Savitzky-Golay:

https://stackoverflow.com/questions/37843942/smoothen-rasterstack-using-the-savitzky-golay-sgolayfilt-signal-in-r/37846229#37846229

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X