Message-ID: <91E1C4A7-DE94-4208-A59B-AC760FE886CF@comcast.net>
Date: 2013-02-18T21:11:50Z
From: David Winsemius
Subject: How to calculate the moving average for binary files?
In-Reply-To: <1361219332430-4658986.post@n4.nabble.com>
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