rpp {stpp} | R Documentation |
Generate Poisson point patterns
Description
Generate one (or several) realisation(s) of the (homogeneous or inhomogeneous) Poisson process in a region S\times T
.
Usage
rpp(lambda, s.region, t.region, npoints=NULL, nsim=1, replace=TRUE,
discrete.time=FALSE, nx=100, ny=100, nt=100, lmax=NULL, ...)
Arguments
lambda |
Spatio-temporal intensity of the Poisson process.
If |
s.region |
Two-column matrix specifying polygonal region containing
all data locations.
If |
t.region |
Vector containing the minimum and maximum values of
the time interval.
If |
replace |
Logical allowing times repeat (should only be used when |
npoints |
Number of points to simulate. If |
discrete.time |
If TRUE, times belong to |
nsim |
Number of simulations to generate. Default is 1. |
nx , ny , nt |
Define the size of the 3-D grid on which the intensity is evaluated. |
lmax |
Upper bound for the value of |
... |
Additional parameters if |
Value
A list containing:
xyt |
Matrix (or list of matrices if |
Lambda |
|
s.region , t.region , lambda |
parameters passed in argument. |
Author(s)
Edith Gabriel <edith.gabriel@inrae.fr> and Peter J Diggle.
See Also
plot.stpp
, animation
and stan
for plotting space-time point patterns.
Examples
# Homogeneous Poisson process
# ---------------------------
hpp1 <- rpp(lambda=200,replace=FALSE)
stan(hpp1$xyt)
# fixed number of points, discrete time, with time repeat.
data(northcumbria)
hpp2 <- rpp(npoints=500, s.region=northcumbria, t.region=c(1,1000),
discrete.time=TRUE)
plot(hpp2$xyt, style="elegant")
polymap(northcumbria)
animation(hpp2$xyt, s.region=hpp2$s.region, t.region=hpp2$t.region,
runtime=10, add=TRUE)
# Inhomogeneous Poisson process
# -----------------------------
# intensity defined by a function
lbda1 = function(x,y,t,a){a*exp(-4*y) * exp(-2*t)}
ipp1 = rpp(lambda=lbda1, npoints=400, a=3200/((1-exp(-4))*(1-exp(-2))))
stan(ipp1$xyt)
# intensity defined by a matrix
data(fmd)
data(northcumbria)
h = mse2d(as.points(fmd[,1:2]), northcumbria, nsmse=30, range=3000)
h = h$h[which.min(h$mse)]
Ls = kernel2d(as.points(fmd[,1:2]), northcumbria, h, nx=100, ny=100)
Lt = dim(fmd)[1]*density(fmd[,3], n=200)$y
Lst=array(0,dim=c(100,100,200))
for(k in 1:200) Lst[,,k] <- Ls$z*Lt[k]/dim(fmd)[1]
ipp2 = rpp(lambda=Lst, s.region=northcumbria, t.region=c(1,200),
discrete.time=TRUE)
par(mfrow=c(1,1))
image(Ls$x, Ls$y, Ls$z, col=grey((1000:1)/1000)); polygon(northcumbria)
animation(ipp2$xyt, add=TRUE, cex=0.5, runtime=15)