# sampleRandom: Random sample

## Description

Take a random sample from the cell values of a Raster* object (without replacement).

## Usage

# S4 method for Raster
sampleRandom(x, size, na.rm=TRUE, ext=NULL,
cells=FALSE, rowcol=FALSE, xy=FALSE, sp=FALSE, asRaster=FALSE, ...)

## Arguments

size

positive integer giving the number of items to choose

na.rm

logical. If `TRUE`

(the default), `NA`

values are removed from random sample

ext

Extent object. To limit regular sampling to the area within the extent

cells

logical. If `TRUE`

, sampled cell numbers are also returned

rowcol

logical. If `TRUE`

, sampled row and column numbers are also returned

xy

logical. If `TRUE`

, coordinates of sampled cells are also returned

sp

logical. If `TRUE`

, a SpatialPointsDataFrame is returned

asRaster

logical. If `TRUE`

, a Raster* object is returned with random cells with values, all other cells with `NA`

...

Additional arguments as in `writeRaster`

. Only relevant when `asRaster=TRUE`

## Value

A vector, matrix (if `cells=TRUE`

or `x`

is a multi-layered object), or a SpatialPointsDataFrame (if `sp=TRUE`

)

## Details

With argument `na.rm=TRUE`

, the returned sample may be smaller than requested

## Examples

# NOT RUN {
r <- raster(system.file("external/test.grd", package="raster"))
sampleRandom(r, size=10)
s <- stack(r, r)
sampleRandom(s, size=5, cells=TRUE, sp=TRUE)
# }