[R] How to calculate the moving average for binary files?
David Winsemius
dwinsemius at comcast.net
Mon Feb 18 22:11:50 CET 2013
On Feb 18, 2013, at 12:28 PM, Jonsson wrote:
> I have 12 binary (raster) files
> https://echange-fichiers.inra.fr/get?k=k3M2jatJyHy65Cs99G4 .
> I would like to calculate the moving average for the 12 values for each
> pixel in the 12 files.
>
> For a simple vector we can get a moving average by using this :
>
> x <- c(1,2,3,NA,NA,4,6,5,6,4,2,5)
> movingmean <- rollapply(x, 3, FUN = mean, na.rm = T,fill=NA)
> now I want to do the same but with binary files and I tried:
>
> files <- list.files("C:final-2010", "*.envi", full.names = TRUE)
> results <- list()
> for (.files in files) {
> # read in the 12 files as a vector of numbers
> # that we take the average of
> x <- do.call(rbind,(lapply(.files, readBin , double() ,
> size = 4 ,n =1440 * 720 , signed = T)))
> # take the moving average across the 12 values
> # from the 12 files for each pixel
> results[[length(results) + 1L]] <- rollapply(x, 3, FUN = mean,na.rm
> = T)
> }
>
> But got this error:
>
> Error in seq.default(start.at, NROW(data), by = by) :
> wrong sign in 'by' argument
Cross-posting on StackOverflow and Rhelp is deprecated in the Posting Guide.
http://stackoverflow.com/questions/14944824/how-to-calculate-the-moving-averag-for-several-binary-files-in-r
--
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list