
Create a raster with random values drawn from a uniform distribution
Source:R/rUnifRast.r
runifRast.RdrUnifRast() creates a raster with values drawn from a uniform (flat) distribution.
Arguments
- x
A
GRaster. The output will have the same extent and dimensions as this raster.- n
A numeric integer: Number of rasters to generate.
- low, high
Numeric: Minimum and maximum values from which to select.
- seed
Numeric integer vector or
NULL: Random seed. IfNULL, then a different seed will be generated by GRASS. Defining this is useful if you want to recreate rasters. If provided, there should be one seed value per raster.
See also
rNormRast(), rSpatialDepRast(), fractalRast(), rWalkRast(), GRASS manual page for tool r.random.surface (see grassHelp("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)
### Random walker rasters
# One random walker
walk <- rWalkRast(elev)
plot(walk)
# Random walker with self-avoidance:
walkAvoid <- rWalkRast(elev, steps = 1000, avoid = TRUE, seed = 1)
plot(walkAvoid)
# 10 random walkers:
walk10 <- rWalkRast(elev, n = 10)
plot(walk10)
# 10 random walkers starting in same place:
walkSame10 <- rWalkRast(elev, n = 10, sameStart = TRUE)
plot(walkSame10)
}