Generate N Uniform Random Points

Generate a random point pattern containing $n$ independent uniform random points.

spatial, datagen
runifpoint(n, win=owin(c(0,1),c(0,1)), giveup=1000, warn=TRUE)
Number of points.
Window in which to simulate the pattern. An object of class "owin" or something acceptable to as.owin.
Number of attempts in the rejection method after which the algorithm should stop trying to generate new points.
Logical. Whether to issue a warning if n is very large. See Details.

This function generates n independent random points, uniformly distributed in the window win. (For nonuniform distributions, see rpoint.)

The algorithm depends on the type of window, as follows:

  • Ifwinis a rectangle then$n$independent random points, uniformly distributed in the rectangle, are generated by assigning uniform random values to their cartesian coordinates.
  • Ifwinis a binary image mask, then a random sequence of pixels is selected (usingsample) with equal probabilities. Then for each pixel in the sequence we generate a uniformly distributed random point in that pixel.
  • Ifwinis a polygonal window, the algorithm uses the rejection method. It finds a rectangle enclosing the window, generates points in this rectangle, and tests whether they fall in the desired window. It gives up whengiveup * ntests have been performed without yieldingnsuccesses.
The algorithm for binary image masks is faster than the rejection method but involves discretisation.

If warn=TRUE, then a warning will be issued if n is very large. The threshold is spatstat.options("huge.npoints"). This warning has no consequences, but it helps to trap a number of common errors.


  • The simulated point pattern (an object of class "ppp").

See Also

ppp.object, owin.object, rpoispp, rpoint

  • runifpoint
# 100 random points in the unit square
 pp <- runifpoint(100)
 # irregular window
 # polygonal
 pp <- runifpoint(100, letterR)
 # binary image mask
 pp <- runifpoint(100, as.mask(letterR))
Documentation reproduced from package spatstat, version 1.31-2, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.