Learn R Programming

raster (version 3.6-23)

as.data.frame: Get a data.frame with raster cell values, or coerce SpatialPolygons, Lines, or Points to a data.frame

Description

as.matrix returns all values of a Raster* object as a matrix. For RasterLayers, rows and columns in the matrix represent rows and columns in the RasterLayer object. For other Raster* objects, the matrix returned by as.matrix has columns for each layer and rows for each cell.

as.array returns an array of matrices that are like those returned by as.matrix for a RasterLayer

If there is insufficient memory to load all values, you can use getValues or getValuesBlock to read chunks of the file. You could also first use sampleRegular

The methods for Spatial* objects allow for easy creation of a data.frame with the coordinates and attributes; the default method only returns the attributes data.frame

Usage

# S4 method for Raster
as.data.frame(x, row.names=NULL, optional=FALSE, xy=FALSE, 
              na.rm=FALSE, long=FALSE, ...)

# S4 method for SpatialPolygons as.data.frame(x, row.names=NULL, optional=FALSE, xy=FALSE, centroids=TRUE, sepNA=FALSE, ...)

# S4 method for SpatialLines as.data.frame(x, row.names=NULL, optional=FALSE, xy=FALSE, sepNA=FALSE, ...)

Value

data.frame

Arguments

x

Raster* object

row.names

NULL or a character vector giving the row names for the data frame. Missing values are not allowed

optional

logical. If TRUE, setting row names and converting column names (to syntactic names: see make.names) is optional

xy

logical. If TRUE, also return the spatial coordinates

na.rm

logical. If TRUE, remove rows with NA values. This can be particularly useful for very large datasets with many NA values

long

logical. If TRUE, values are reshaped from a wide to a long format

centroids

logical. If TRUE return the centroids instead of all spatial coordinates (only relevant if xy=TRUE)

sepNA

logical. If TRUE the parts of the spatial objects are separated by lines that are NA (only if xy=TRUE and, for polygons, if centroids=FALSE

...

Additional arguments (none)

Examples

Run this code
r <- raster(ncol=3, nrow=3)
values(r) <- sqrt(1:ncell(r))
r[3:5] <- NA
as.data.frame(r)
s <- stack(r, r*2)
as.data.frame(s)
as.data.frame(s, na.rm=TRUE)

Run the code above in your browser using DataLab