Guest User

Untitled

a guest
Sep 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. # Prepare dummy data.frame
  2. set.seed(2222)
  3. lonlat <- expand.grid(1:10, 1:10)
  4. df <- data.frame( lon = lonlat[, 1],
  5. lat = lonlat[, 2],
  6. ANNUAL_MEAN = rnorm(100),
  7. ANNUAL_RANGE = runif(100, 1, 5)
  8. )
  9.  
  10. library(raster)
  11.  
  12. # Convert data frame to raster object
  13. rdf <- df
  14. coordinates(rdf) <- ~ lon + lat
  15. gridded(rdf) <- TRUE
  16. rdf <- brick(rdf) # our raster brick
  17.  
  18. ## Perform moving window averaging
  19.  
  20. # prepare weights matrix (5*5)
  21. w <- matrix(1, ncol = 5, nrow = 5)
  22.  
  23. # perform moving window averaging
  24. ANNUAL_MEAN_AVG <- focal(rdf[[1]], w, mean, pad = TRUE, na.rm = TRUE)
  25. ANNUAL_RANGE_AVG <- focal(rdf[[2]], w, mean, pad = TRUE, na.rm = TRUE)
  26.  
  27. # Append new data to initial data.frame
  28. df$ANNUAL_MEAN_AVG <- as.data.frame(ANNUAL_MEAN_AVG)
  29. df$ANNUAL_RANGE_AVG <- as.data.frame(ANNUAL_RANGE_AVG)
Add Comment
Please, Sign In to add comment