Skip to contents

rnormRast() creates a raster with values drawn from a normal distribution.

Usage

# S4 method for class 'GRaster'
rnormRast(x, n = 1, mu = 0, sigma = 1, seed = NULL)

Arguments

x

A GRaster: The output will have the same extent and dimensions as this raster.

n

An integer: Number of rasters to generate.

mu, sigma

Numeric: Mean and sample standard deviation of output. If creating more than one raster, you can provide one value per raster. If there are fewer, they will be recycled.

seed

Numeric integer or NULL: Random seed. If NULL, then a random seed is used for each raster. If provided, there should be one seed value per raster.

Value

A GRaster.

See also

rSpatialDepRast(), fractalRast(), runifRast(), and GRASS module r.random.surface

Examples

if (grassStarted()) {

# Setup
library(sf)
library(terra)

# Elevation raster
madElev <- fastData("madElev")

# Convert a SpatRaster to a GRaster:
elev <- fast(madElev)

### Create a raster with values drawn from a uniform distribution:
unif <- runifRast(elev)
plot(unif)

### Create a raster with values drawn from a normal distribution:
norms <- rnormRast(elev, n = 2, mu = c(5, 10), sigma = c(2, 1))
plot(norms)
hist(norms, bins = 100)

# Create a raster with random, seemingly normally-distributed values:
rand <- rSpatialDepRast(elev, dist = 1000)
plot(rand)

# Values appear normal on first inspection:
hist(rand)

# ... but actually are patterned:
hist(rand, bins = 100)

# Create a fractal raster:
fractal <- fractalRast(elev, n = 2, dimension = c(2.1, 2.8))
plot(fractal)
hist(fractal)

}