Last chance! 50% off unlimited learning
Sale ends in
rPoissonCluster(kappa, rmax, rcluster, win = owin(c(0,1),c(0,1)), ..., lmax=NULL)
"owin"
or something acceptable to as.owin
.rcluster
kappa
when kappa
is a function or pixel image."ppp"
).
Additionally, some intermediate results of the simulation are
returned as attributes of this point pattern: see Details.rcluster
.
The clusters must have a finite maximum possible radius rmax
. First, the algorithm
generates a Poisson point process of ``parent'' points
with intensity kappa
. Here kappa
may be a single
positive number, a function kappa(x, y)
, or a pixel image
object of class "im"
(see im.object
).
See rpoispp
for details.
Second, each parent point is
replaced by a random cluster of points, created by calling the
function rcluster
.
These clusters are combined together to yield a single point pattern
which is then returned as the result of rPoissonCluster
.
The function rcluster
should expect to be called as
rcluster(xp[i],yp[i],...)
for each parent point at a location
(xp[i],yp[i])
. The return value of rcluster
should be a list with elements
x,y
which are vectors of equal length giving the absolute
$x$ and y
coordinates of the points in the cluster.
If the return value of rcluster
is a point pattern (object of
class "ppp"
) then it may have marks. The result of
rPoissonCluster
will then be a marked point pattern.
If required, the intermediate stages of the simulation (the parents
and the individual clusters) can also be extracted from
the return value of rPoissonCluster
through the attributes "parents"
and "parentid"
.
The attribute "parents"
is the point pattern of parent points.
The attribute "parentid"
is an integer vector specifying
the parent for each of the points in the simulated pattern.
rpoispp
,
rThomas
,
rGaussPoisson
,
rMatClust
# each cluster consist of 10 points in a disc of radius 0.2
nclust <- function(x0, y0, radius, n) {
return(runifdisc(n, radius, centre=c(x0, y0)))
}
plot(rPoissonCluster(10, 0.2, nclust, radius=0.2, n=5))
# multitype Neyman-Scott process (each cluster is a multitype process)
nclust2 <- function(x0, y0, radius, n, types=c("a", "b")) {
X <- runifdisc(n, radius, centre=c(x0, y0))
M <- sample(types, n, replace=TRUE)
marks(X) <- M
return(X)
}
plot(rPoissonCluster(15,0.1,nclust2, radius=0.1, n=5))
Run the code above in your browser using DataLab