| as.raster {grDevices} | R Documentation |
Functions to create a raster object (representing a bitmap image) and coerce other objects to a raster object.
is.raster(x) as.raster(x, ...) ## S3 method for class 'logical' as.raster(x, max=1, ...) ## S3 method for class 'numeric' as.raster(x, max=1, ...) ## S3 method for class 'character' as.raster(x, max=1, ...) ## S3 method for class 'matrix' as.raster(x, max=1, ...) ## S3 method for class 'array' as.raster(x, max=1, ...)
x |
Any R object. |
max |
number giving the maximum of the color values range. |
... |
further arguments passed to or from other methods. |
An object of class "raster" is a matrix of colour values as
given by rgb representing a bitmap image.
It is not expected that the user will need to call these functions
directly; functions to render bitmap images in graphics packages will
make use of the as.raster() function to generate a raster
object from their input.
The as.raster() function is generic so methods can be
written to convert other R objects to a raster object.
The default implementation for numeric matrices interprets scalar values on black-to-white scale.
Raster objects can be subsetted like a matrix and it is possible to assign to a subset of a raster object.
There is a method for converting a raster object to a matrix (of colour strings).
Raster objects can be compared for equality or inequality (with each other or with a colour string).
As from R 2.14.0 there is a is.na method which returns
a logical matrix of the same dimensions as the raster object. Note
that NA values are interpreted as the fully transparent colour
by some (but not all) graphics devices.
For as.raster(), a raster object.
For is.raster(), a logical indicating whether
x is a raster object.
# A red gradient
as.raster(matrix(hcl(0, 80, seq(50, 80, 10)),
nrow=4, ncol=5))
# Vectors are 1-column matrices ...
# character vectors are color names ...
as.raster(hcl(0, 80, seq(50, 80, 10)))
# numeric vectors are greyscale ...
as.raster(1:5, max=5)
# locigal vectors are black and white ...
as.raster(1:10 %% 2 == 0)
# ... unless nrow/ncol are supplied ...
as.raster(1:10 %% 2 == 0, nrow=1)
# Matrix can also be logical or numeric ...
as.raster(matrix(c(TRUE, FALSE), nrow=3, ncol=2))
as.raster(matrix(1:3/4, nrow=3, ncol=4))
# An array can be 3-plane numeric (R, G, B planes) ...
as.raster(array(c(0:1, rep(0.5, 4)), c(2, 1, 3)))
# ... or 4-plane numeric (R, G, B, A planes)
as.raster(array(c(0:1, rep(0.5, 6)), c(2, 1, 4)))
# subsetting
r <- as.raster(matrix(colors()[1:100], ncol=10))
r[, 2]
r[2:4, 2:5]
# assigning to subset
r[2:4, 2:5] <- "white"
# comparison
r == "white"