[R-sig-Geo] spatialgridataframes

Lyndon Estes lestes at princeton.edu
Sun Feb 20 17:44:54 CET 2011


Hi Mary,

This might help answer your questions. I used the meuse dataset and
converted to raster formats, but I think the general approach should
work for what you want to do.

library(raster)
library(gstat)
data(meuse.grid)
coordinates(meuse.grid) = ~x+y
gridded(meuse.grid) = TRUE
class(meuse.grid)
m2 <- as(meuse.grid, "SpatialGridDataFrame")
m3 <- raster(m2, layer = "soil")  # Convert soil classes to raster

>
> Question1.
> How can i remove the ninth class in R because it does not have to be included in
> geostatical analysis.

m4 <- m3 * ((m3 < 3) / (m3 < 3))  # Removes class 3 from soil,
converts it to NA values (this could also
# serve as a mask)

# If you want to keep that part of the grid in the analysis, then you
might want to collapse the one class
# into another
m5 <- (m3 == 3 | m3 == 2) * 2 + (m3 == 1)  # Class 2 now includes 2 and 3

> Question 2
> how can i use the map created in Q1 to clip the other 5  aboventioned maps (eg
> DEM etc) or how can i create a mask from the map in Q1.
>


# Create a mask for just the area of soil class 1
sc1.mask <- (m3 == 1) / (m3 == 1)

# You then multiply your other rasters by your mask to reduce rasters
to the areas you want to analyze.

Cheers, Lyndon



More information about the R-sig-Geo mailing list