# rmpoispp

0th

Percentile

##### Generate Multitype Poisson Point Pattern

Generate a random point pattern using the (homogeneous or inhomogeneous) multitype Poisson process.

Keywords
spatial
##### Usage
rmpoispp(lambda, lmax=NULL, win, types, ...)
##### Arguments
lambda
Intensity of the multitype Poisson process. Either a single positive number, a vector, a function(x,y,m, ...), a pixel image, a list of functions function(x,y, ...), or a list of pixel images.
lmax
An upper bound for the value of lambda. May be omitted
win
Window in which to simulate the pattern. An object of class "owin" or something acceptable to as.owin. Ignored if lambda is a pixel image or list of images.
types
All the possible types for the multitype pattern.
...
Arguments passed to lambda if it is a function.
##### Details

This function generates a realisation of the marked Poisson point process with intensity lambda. Note that the intensity function $\lambda(x,y,m)$ is the average number of points of type m per unit area near the location $(x,y)$. Thus a marked point process with a constant intensity of 10 and three possible types will have an average of 30 points per unit area, with 10 points of each type on average.

The intensity function may be specified in any of the following ways. [object Object],[object Object],[object Object],[object Object],[object Object],[object Object] If lmax is missing, an approximate upper bound will be calculated. To generate an inhomogeneous Poisson process the algorithm uses thinning'': it first generates a uniform Poisson process of intensity lmax for points of each type m, then randomly deletes or retains each point independently, with retention probability $p(x,y,m) = \lambda(x,y,m)/\mbox{lmax}$.

##### Value

• The simulated multitype point pattern (an object of class "ppp" with a component marks which is a factor).

ppp.object, owin.object

• rmpoispp
##### Examples
# uniform bivariate Poisson process with total intensity 100 in unit square
pp <- rmpoispp(50, types=c("a","b"))

# stationary bivariate Poisson process with intensity A = 30, B = 70
pp <- rmpoispp(c(30,70), types=c("A","B"))
pp <- rmpoispp(c(30,70))

# works in any window
data(letterR)
pp <- rmpoispp(c(30,70), win=letterR, types=c("A","B"))

# inhomogeneous lambda(x,y,m)
# note argument 'm' is a factor
lam <- function(x,y,m) { 50 * (x^2 + y^3) * ifelse(m=="A", 2, 1)}
pp <- rmpoispp(lam, win=letterR, types=c("A","B"))
# extra arguments
lam <- function(x,y,m,scal) { scal * (x^2 + y^3) * ifelse(m=="A", 2, 1)}
pp <- rmpoispp(lam, win=letterR, types=c("A","B"), scal=50)

# list of functions lambda[[i]](x,y)
lams <- list(function(x,y){50 * x^2}, function(x,y){20 * abs(y)})
pp <- rmpoispp(lams, win=letterR, types=c("A","B"))
pp <- rmpoispp(lams, win=letterR)
# functions with extra arguments
lams <- list(function(x,y,scal){5 * scal * x^2},
function(x,y, scal){2 * scal * abs(y)})
pp <- rmpoispp(lams, win=letterR, types=c("A","B"), scal=10)
pp <- rmpoispp(lams, win=letterR, scal=10)

# florid example
lams <- list(function(x,y){
100*exp((6*x + 5*y - 18*x^2 + 12*x*y - 9*y^2)/6)
}
,
function(x,y){
100*exp(-0.6*x+0.5*y)
}
# log linear trend
)
X <- rmpoispp(lams, win=unit.square(), types=c("on", "off"))

# pixel image
Z <- as.im(function(x,y){30 * (x^2 + y^3)}, letterR)
pp <- rmpoispp(Z, types=c("A","B"))

# list of pixel images
ZZ <- list(
as.im(function(x,y){20 * (x^2 + y^3)}, letterR),
as.im(function(x,y){40 * (x^3 + y^2)}, letterR))
pp <- rmpoispp(ZZ, types=c("A","B"))
pp <- rmpoispp(ZZ)
Documentation reproduced from package spatstat, version 1.5-9, License: GPL version 2 or newer

### Community examples

Looks like there are no examples yet.