Since you're using the raster
package, try using the function NAvalue
to specify the NA
values in your rasters instead of manually replacing the -999 values with NA
's.
According to ?NAvalue
:
NAvalue returns the value that is used to write NA values to disk (in ’raster’ type files). If you set the NA value of a Raster* object, this value will be interpreted as NA when reading the values from a file. Values already in memory will not be affected.
If the NA value is smaller than zero, all values smaller or equal to that number will be set to NA.
An example from the help file:
r1 <- raster(system.file("external/rlogo.grd", package="raster"))
r2 <- r1
NAvalue(r2)
NAvalue(r2) <- 255
#plot(r1)
#plot(r2)
For your problem, you can load the raster (say, r <- raster(file)
), then use the function NAvalue(r) <- -999
, and it should specify all values in the raster r
with values <= -999
as NA
.