R/moran_multithreshold.R
moran_multithreshold.Rd
Applies moran()
to different distance thresholds at the same time.
moran_multithreshold(
x = NULL,
distance.matrix = NULL,
distance.thresholds = NULL,
verbose = TRUE
)
Numeric vector, generally model residuals, Default: NULL
Distance matrix among cases in x
. The number of rows of this matrix must be equal to the length of x
. Default: NULL
Numeric vector, distances below each value are set to 0 on separated copies of the distance matrix for the computation of Moran's I at different neighborhood distances. If NULL
, it defaults to seq(0, max(distance.matrix)/4, length.out = 2)
. Default: NULL
Logical, if TRUE
, plots Moran's I values for each distance threshold. Default: TRUE
A named list with the slots:
df
: Data frame with the results of moran per distance threshold.
plot
: A plot of Moran's I across distance thresholds.
max.moran
: Maximum value of Moran's I across thresholds.
max.moran.distance.threshold
: Distance threshold with the maximum Moran's I value.
Using different distance thresholds helps to take into account the uncertainty about what "neighborhood" means in ecological systems (1000km in geological time means little, but 100m might be quite a long distance for a tree to disperse seeds over), and allows to explore spatial autocorrelation of model residuals for several minimum-distance criteria at once.
if(interactive()){
#loading example data
data(distance_matrix)
data(plant_richness)
#computing Moran's I for the response variable at several reference distances
out <- moran_multithreshold(
x = plant_richness$richness_species_vascular,
distance.matrix = distance_matrix,
distance.thresholds = c(0, 100, 1000, 10000),
plot = TRUE
)
out
}