twinstim_siaf_simulatePC: Simulation from an Isotropic Spatial Kernel via Polar...

siaf.simulatePCR Documentation

Simulation from an Isotropic Spatial Kernel via Polar Coordinates

Description

To sample points from isotropic spatial kernels f_2(s) = f(||s||) such as siaf.powerlaw on a bounded domain (i.e., ||s|| < \code{ub}), it is convenient to switch to polar coordinates (r,\theta), which have a density proportional to r f_2((r \cos(\theta), r \sin(\theta))) = r f(r) (independent of the angle \theta due to isotropy). The angle is thus simply drawn uniformly in [0,2\pi), and r can be sampled by the inversion method, where numeric root finding is used for the quantiles (since the quantile function is not available in closed form).

Usage

siaf.simulatePC(intrfr)

Arguments

intrfr

a function computing the integral of r f(r) from 0 to R (first argument, not necessarily named R). Parameters of the function are passed as its second argument and a third argument is the event type.

Value

a function with arguments (n, siafpars, type, ub), which samples n points from the spatial kernel f_2(s) within the disc of radius ub, where siafpars and type are passed as second and third argument to intrfr. The environment of the returned function will be the caller's environment.

Author(s)

Sebastian Meyer

Examples

simfun <- siaf.powerlaw()$simulate
## is internally generated as siaf.simulatePC(intrfr.powerlaw)

set.seed(1)
simfun(n=10, siafpars=log(c(sigma=1, d=2)), ub=5)

surveillance documentation built on Nov. 4, 2024, 3 a.m.