spatiotemp_bias {dynamicSDM}R Documentation

Test for spatial and temporal bias in species occurrence records


Generates plots for visual assessment of spatial and temporal biases in occurrence records. Tests whether the spatiotemporal distribution of records is significantly different from the distribution from random sampling.


  plot = FALSE,
  spatial.method = "simple",
  prj = "+proj=longlat +datum=WGS84"


a data frame, with columns for occurrence record co-ordinates and dates with column names as follows; record longitude as "x", latitude as "y", year as "year", month as "month", and day as "day".


a character string or vector, the time step(s) to test for temporal bias at. One or multiple of day or month, year. Can be abbreviated.


a logical indicating whether to generate plots of spatial and temporal bias. See details for plot descriptions. Default = FALSE.


a character string, the method to calculate the spatial bias statistic. One of; simple, convex_hull or core. See details.


a numeric vector of length two, specifying the centroid co-ordinates in the order of longitude then latitude. Only required if spatial.method = core. Default is mean of all occurrence record co-ordinates.


a numeric value, the radial distance in metres from the given centroid co-ordinate to measure spatial bias within. Only required if spatial.method = core. See details for more information. Default is mean distance of all co-ordinates from centroid.


a character string, the coordinate reference system of co-ordinates. Default is "+proj=longlat +datum=WGS84".


Returns list containing chi-squared and t-test results, and plots if specified.

Temporal bias

To assess temporal sampling bias, the function returns a histogram plot of the frequency distribution of records across the given time step specified by temporal.level (if plot = TRUE). The observed frequency of sampling across the categorical time steps are compared to the distribution expected from random sampling, using a chi-squared test (Greenwood and Nikulin, 1996) .

Spatial bias

To assess spatial sampling bias, the function returns a scatter plot of the spatial distribution of occurrence records to illustrate any spatial clustering (if plot = TRUE). The average nearest neighbour distance of record co-ordinates is then compared to that of records randomly generated at same density using a t-test, following the nearest neighbour index established by Clark and Evans (1954).

Bias: methods

Below we outline the methods for which these tests for biases can be applied. dynamicSDM offers the additional functionality of the core approach. This enables users to explore sampling biases in set areas of a species range. This may be valuable if periphery-core relationships could lead to inaccurate inferences of sampling bias. For instance, if species are expanding or shifting their ranges through space and time. #'

For each method, only occurrence records within the specified area are tested for spatial and temporal sampling biases.

Computation time

As the spatial bias test involves the calculation of a distance matrix. To reduce computation time, it is recommended that only a representative sample of large occurrence datasets are input.


Clark, P. J. & Evans, F. C. J. E. 1954. Distance To Nearest Neighbor As A Measure Of Spatial Relationships In Populations. 35, 445-453.

Greenwood, P. E. & Nikulin, M. S. 1996. A Guide To Chi-Squared Testing, John Wiley & Sons.



bias_simple <- spatiotemp_bias( = sample_explan_data,
temporal.level = c("year"),
spatial.method = "simple",
plot = FALSE

[Package dynamicSDM version 1.3.4 Index]