Learn R Programming

geostatsp (version 2.0.6)

simLgcp: Simulate a log-Gaussian Cox process

Description

Give covariates and model parameters, simulates a log-Gaussian Cox process

Usage

simLgcp(param, covariates=NULL, betas=NULL, 
	offset=NULL,
	  rasterTemplate=covariates[[1]], n=1, ...)
	simPoissonPP(intensity)

Value

A list with a events element containing the event locations and a SpatRaster element containing a raster stack of the covariates, spatial random effect, and intensity.

Arguments

param

A vector of named model parameters with, at a minimum names range and shape (see Details), and optionally variance (defaults to 1). For Geometric Anisotropy add anisoRatio and either anisoAngleDegrees or anisoAngleRadians

covariates

Either a raster stack or list of rasters and SpatVectors (with the latter having only a single data column).

betas

Coefficients for the covariates

offset

Vector of character strings corresponding to elements of covariates which are offsets

rasterTemplate

Raster on which the latent surface is simulated, defaults to the first covariate.

n

number of realisations to simulate

...

additional arguments, see c( '\\code{RFsimulate} in the \\code{RandomFields} package', '\\command{\\link[RandomFields]{RFsimulate}}' )[1+requireNamespace('RandomFields', quietly=TRUE)].

intensity

Raster of the intensity of a Poisson point process.

Examples

Run this code
mymodel = c(mean=-0.5, variance=1, 
				range=2, shape=2)

myraster = rast(nrows=15,ncols=20,xmin=0,xmax=10,ymin=0,ymax=7.5)

# some covariates, deliberately with a different resolution than myraster
covA = covB = myoffset = rast(ext(myraster), 10, 10)
values(covA) = as.vector(matrix(1:10, 10, 10))
values(covB) = as.vector(matrix(1:10, 10, 10, byrow=TRUE))
values(myoffset) = round(seq(-1, 1, len=ncell(myoffset)))

myCovariate = list(a=covA, b=covB, offsetFooBar = myoffset)

myLgcp=simLgcp(param=mymodel, 
	covariates=myCovariate, 
	betas=c(a=-0.1, b=0.25), 
	offset='offsetFooBar',
	rasterTemplate=myraster)

plot(myLgcp$raster[["intensity"]], main="lgcp")
points(myLgcp$events)

myIntensity = exp(-1+0.2*myCovariate[["a"]])
myPoissonPP = simPoissonPP(myIntensity)[[1]]
plot(myIntensity, main="Poisson pp")
points(myPoissonPP)


Run the code above in your browser using DataLab