Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Prepare dummy data.frame
- set.seed(2222)
- lonlat <- expand.grid(1:10, 1:10)
- df <- data.frame( lon = lonlat[, 1],
- lat = lonlat[, 2],
- ANNUAL_MEAN = rnorm(100),
- ANNUAL_RANGE = runif(100, 1, 5)
- )
- library(raster)
- # Convert data frame to raster object
- rdf <- df
- coordinates(rdf) <- ~ lon + lat
- gridded(rdf) <- TRUE
- rdf <- brick(rdf) # our raster brick
- ## Perform moving window averaging
- # prepare weights matrix (5*5)
- w <- matrix(1, ncol = 5, nrow = 5)
- # perform moving window averaging
- ANNUAL_MEAN_AVG <- focal(rdf[[1]], w, mean, pad = TRUE, na.rm = TRUE)
- ANNUAL_RANGE_AVG <- focal(rdf[[2]], w, mean, pad = TRUE, na.rm = TRUE)
- # Append new data to initial data.frame
- df$ANNUAL_MEAN_AVG <- as.data.frame(ANNUAL_MEAN_AVG)
- df$ANNUAL_RANGE_AVG <- as.data.frame(ANNUAL_RANGE_AVG)
Add Comment
Please, Sign In to add comment