Simulate a spatial negative binomial random variable with a specific mean and covariance structure.
Usage
sprnbinom(
spcov_params,
dispersion = 1,
mean = 0,
samples = 1,
data,
randcov_params,
partition_factor,
...
)
Arguments
- spcov_params
An
spcov_params()
object.- dispersion
The dispersion value.
- mean
A numeric vector representing the mean.
mean
must have length 1 (in which case it is recycled) or length equal to the number of rows indata
. The default is0
.- samples
The number of independent samples to generate. The default is
1
.- data
A data frame or
sf
object containing spatial information.- randcov_params
A
randcov_params()
object.- partition_factor
A formula indicating the partition factor.
- ...
Additional arguments passed to
sprnorm()
.
Value
If samples
is 1, a vector of random variables for each row of data
is returned. If samples
is greater than one, a matrix of random variables
is returned, where the rows correspond to each row of data
and the columns
correspond to independent samples.
Details
The values of spcov_params
, mean
, and randcov_params
are assumed to be on the link scale. They are used to simulate a latent normal (Gaussian)
response variable using sprnorm()
. This latent variable is the
conditional mean used with dispersion
to simulate a negative binomial random variable.
Examples
spcov_params_val <- spcov_params("exponential", de = 0.2, ie = 0.1, range = 1)
sprnbinom(spcov_params_val, data = caribou, xcoord = x, ycoord = y)
#> [1] 1 0 0 1 5 0 0 8 0 4 0 1 0 4 2 1 1 5 0 0 0 1 0 0 0 1 3 1 2 0
sprnbinom(spcov_params_val, samples = 5, data = caribou, xcoord = x, ycoord = y)
#> 1 2 3 4 5
#> [1,] 0 0 1 3 0
#> [2,] 0 0 0 3 0
#> [3,] 1 0 3 1 1
#> [4,] 0 1 1 0 0
#> [5,] 2 1 0 0 0
#> [6,] 0 3 0 4 3
#> [7,] 0 0 2 2 1
#> [8,] 0 1 0 1 0
#> [9,] 0 1 1 0 4
#> [10,] 0 1 0 0 5
#> [11,] 1 8 1 2 1
#> [12,] 0 3 9 1 1
#> [13,] 3 0 0 0 0
#> [14,] 4 0 0 0 0
#> [15,] 0 0 1 2 5
#> [16,] 1 0 0 13 1
#> [17,] 0 7 0 1 1
#> [18,] 0 0 3 0 1
#> [19,] 1 1 2 1 0
#> [20,] 1 0 3 0 1
#> [21,] 2 0 5 0 0
#> [22,] 3 0 1 4 0
#> [23,] 0 2 0 1 0
#> [24,] 1 2 3 2 0
#> [25,] 0 0 1 1 3
#> [26,] 2 0 0 1 3
#> [27,] 0 0 0 2 1
#> [28,] 2 0 2 0 0
#> [29,] 6 0 3 0 0
#> [30,] 0 0 3 0 0