Dear all, I'm having trouble interpolating a number of gridded datasets that I have. I'm quite new to R so any help/advice that can be offered would be much appreciated!
Firstly I'll describe my dataset. The data is a grid of the planet at 1 degree spatial resolution, with each grid cell containing a value describing a particular variable (e.g. population density) for coordinate pairs. The dimensions of the grid are 360col x 180row. The x-coordinates of the values within the grid are longitudes (from -179.5(W) to 179.5(E)) and the y-coordinates of the grid values are latitudes (from 89.5(N) to -89.5(S)). What I want to do is convert this 1 degree dataset to a finer resolution of 0.5 degrees, thereby quadrupling the number of cells within the frame (i.e. convert to 720 x 360 grid). I wish to have longitudinal values ranging from -179.75 to 179.75 and latitudinal values from 89.75 to -89.75. I selected the 'interp.surface' function in the 'fields' package to do this as it provides bilinear interpolation from one grid to another. I have written the following code to try and carry out my interpolation... > library(fields) > x.mat <- sprintf("%.2f", seq(from = -179.5, to = 179.5, length=360)) # > longitude grid values > y.mat <- sprintf("%.2f", seq(from = 89.5, to = -89.5, length=180)) # > latitude grid values > z.mat <- read.table("BF_200501.txt", colClasses="numeric") # dataset > z.mat <- data.matrix(z.mat) > obj <- list(x=x.mat, y=y.mat, z=z.mat) #Setting up new grid > a.mat <- sprintf("%.2f", seq(from = -179.75, to = 179.75, length = 720)) # > longitude grid values > b.mat <- sprintf("%.2f", seq(from = 89.75, to = -89.75, length = 360)) # > latitude grid values > loc <- make.surface.grid(list(x=a.mat, y=b.mat)) #Interpolation > new <- interp.surface(obj, loc) However I get the following error message: Error in x.new - min(x) : non-numeric argument to binary operator Can anyone explain what this error message means and why I am getting it? Or are there other more effective ways to perform the interpolation on this sort of dataset? Like I said I'm new to R so any advice will be gratefully received. Many thanks, Andy _________________________________________________________________ [[elided Hotmail spam]] [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.