substitute | R Documentation |
Substitute (replace) values in a Raster* object with values in a data.frame
. The data.frame
should have a column to identify the key (ID) to match with the cell values of the Raster* object, and one or more columns with replacement values. By default these are the first and second column but you can specify other columns with arguments by
and which
. It is possible to match one table to multiple layers, or to use multiple layers as a single key, but not both.
## S4 method for signature 'Raster,data.frame'
subs(x, y, by=1, which=2, subsWithNA=TRUE, filename='', ...)
x |
Raster* object |
y |
data.frame |
by |
column number(s) or name(s) identifying the key (ID) to match rows in data.frame |
which |
column number or name that has the new (replacement) values |
subsWithNA |
logical. If |
filename |
character. Optional output filename |
... |
additional arguments as for |
You could obtain the same result with reclassify
, but subs
is more efficient for simple replacement. Use reclassify
if you want to replace ranges of values with new values.
You can also replace values using a fitted model. E.g. fit a model to glm
or loess
and then call predict
Raster object
reclassify, clamp, cut
r <- raster(ncol=10, nrow=10)
values(r) <- round(runif(ncell(r)) * 10)
df <- data.frame(id=2:8, v=c(10,10,11,11,12:14))
x <- subs(r, df)
x2 <- subs(r, df, subsWithNA=FALSE)
df$v2 <- df$v * 10
x3 <- subs(r, df, which=2:3)
s <- stack(r, r*3)
names(s) <- c('first', 'second')
x4 <- subs(s, df)
x5 <- subs(s, df, which=2:3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.