Last chance! 50% off unlimited learning
Sale ends in
runifpoint(n, win=owin(c(0,1),c(0,1)), giveup=1000, warn=TRUE, ..., nsim=1, drop=TRUE, ex=NULL)
"owin"
or something acceptable to as.owin
.
n
is very large.
See Details.
nsim=1
and drop=TRUE
(the default), the
result will be a point pattern, rather than a list
containing a point pattern.
ex
is given and n
and win
are missing,
then n
and win
will be calculated from
the point pattern ex
.
"ppp"
)
if nsim=1
, or a list of point patterns if nsim > 1
.
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:
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.
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.
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.
ppp.object
,
owin.object
,
rpoispp
,
rpoint
# 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)
Run the code above in your browser using DataLab