spatstat.core (version 2.1-2)

# runifpoint: Generate N Uniform Random Points

## Description

Generate a random point pattern containing \(n\) independent uniform random points.

## Usage

```runifpoint(n, win=owin(c(0,1),c(0,1)), giveup=1000, warn=TRUE, …,
nsim=1, drop=TRUE, ex=NULL)```

## Arguments

n

Number of points.

win

Window in which to simulate the pattern. An object of class `"owin"` or something acceptable to `as.owin`.

giveup

Number of attempts in the rejection method after which the algorithm should stop trying to generate new points.

warn

Logical. Whether to issue a warning if `n` is very large. See Details.

Ignored.

nsim

Number of simulated realisations to be generated.

drop

Logical. If `nsim=1` and `drop=TRUE` (the default), the result will be a point pattern, rather than a list containing a point pattern.

ex

Optional. A point pattern to use as the example. If `ex` is given and `n` and `win` are missing, then `n` and `win` will be calculated from the point pattern `ex`.

## Value

A point pattern (an object of class `"ppp"`) if `nsim=1`, or a list of point patterns if `nsim > 1`.

## 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:

• If `win` is a rectangle then \(n\) independent random points, uniformly distributed in the rectangle, are generated by assigning uniform random values to their cartesian coordinates.

• If `win` is a binary image mask, then a random sequence of pixels is selected (using `sample`) with equal probabilities. Then for each pixel in the sequence we generate a uniformly distributed random point in that pixel.

• If `win` is 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 when `giveup * n` tests have been performed without yielding `n` successes.

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.

## See Also

`ppp.object`, `owin.object`, `rpoispp`, `rpoint`

## Examples

```# NOT RUN {
# 100 random points in the unit square
pp <- runifpoint(100)
# irregular window
data(letterR)
# polygonal
pp <- runifpoint(100, letterR)
# binary image mask
pp <- runifpoint(100, as.mask(letterR))
##
# randomising an existing point pattern
runifpoint(npoints(cells), win=Window(cells))
runifpoint(ex=cells)
# }
```