extractIndex.RdThese are shorthand methods that call other methods that should normally be used, such as getValues, extract, crop.
object[i] can be used to access values of a Raster* object, using cell numbers. You can also use row and column numbers as index, using object[i,j] or object[i,] or object[,j]. In addition you can supply an Extent, SpatialPolygons, SpatialLines or SpatialPoints object.
If drop=TRUE (the default) cell values are returned (a vector for a RasterLayer, a matrix for a RasterStack or RasterBrick). If drop=FALSE a Raster* object is returned that has the extent covering the requested cells, and with all other non-requested cells within this extent set to NA.
If you supply a RasterLayer, its values will be used as logical (TRUE/FALSE) indices if both Raster objects have the same extent and resolution; otherwise the cell values within the extent of the RasterLayer are returned.
Double brackes '[[ ]]' can be used to extract one or more layers from a multi-layer object.
x a Raster* object i cell number(s), row number(s), a (logical) RasterLayer, Spatial* object j column number(s) (only available if i is (are) a row number(s)) drop If TRUE, cell values are returned. Otherwise, a Raster* object is returned r <- raster(ncol=10, nrow=5)
values(r) <- 1:ncell(r)
r[1]
#> [1] 1
r[1:10]
#> [1] 1 2 3 4 5 6 7 8 9 10
r[1,]
#> [1] 1 2 3 4 5 6 7 8 9 10
r[,1]
#> [1] 1 11 21 31 41
r[1:2, 1:2]
#> [1] 1 2 11 12
s <- stack(r, sqrt(r))
s[1:3]
#> layer.1 layer.2
#> [1,] 1 1.000000
#> [2,] 2 1.414214
#> [3,] 3 1.732051
s[[2]]
#> class : RasterLayer
#> dimensions : 5, 10, 50 (nrow, ncol, ncell)
#> resolution : 36, 36 (x, y)
#> extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#> crs : +proj=longlat +datum=WGS84 +no_defs
#> source : memory
#> names : layer.2
#> values : 1, 7.071068 (min, max)
#>