Description Usage Arguments Details Value Examples
View source: R/task_custom_spews.R
Computation, significance assessment and display of trends of a custom, user-defined indicator.
1 2 3 4 5 6 7 8 9 10 11 |
fun |
A function that takes a real-valued matrix as input and returns a single, numerical value. |
x |
A |
along |
A vector providing values over which the indicator trend
will be plotted. If |
... |
Ignored |
nperm |
The number of replicates to use to compute use in the null distribution |
what |
The trendline to be displayed. Defaults to the indicator's values ("value") but other metrics can be displayed. Correct values are "value", "pval" or "z_score". |
display_null |
Chooses whether a grey ribbon should be added to reflect
the null distribution. Note that it can not be displayed when the trend
line reflects something else than the indicator values (when |
Spatial Early-warning signals (EWS) are metrics that are based on the
spatial structure of a system and measure the degradation of an ecological
system. The package spatialwarnings
provides
generic indicators (generic_spews
), spectrum-based
indicators (spectral_spews
) and indicators based on patch
size distributions (patchdistr_spews
).
create_indicator
can extend the package to any indicator function.
It takes a function 'fun' and returns another function that can be used
as an indicator function similar to the *_spews
functions. The
results of this function can be assessed for significance using the
generic function indictest
and trends can be displayed using
plot
, summary
, etc. (see Examples).
fun
should be a function that takes as input a matrix and possibly
more arguments, and return a single numeric value. Note that the matrix
is converted internally to numeric values, as a side effect of using
c++ code when assessing significance. When working with logical matrices
(e.g. when computing patch size distributions), the matrix has to be
explicitely converted to logical within function 'fun'.
create_indicator
returns a function that can be used in the same way
than the other *_spews
functions (e.g. generic_spews
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # Use the maximum patch size as indicator of degradation
maxpatchsize <- function(mat) {
# Note that we explicitely convert mat here to logical as it can be
# transformed into numeric internally.
max(patchsizes(mat > 0))
}
# Create the indicator function
maxpatch_spews <- create_indicator(maxpatchsize)
# Then work with this function as if it were a function from the *_spews
# family.
mp_indic <- maxpatch_spews(forestgap)
summary(mp_indic)
## Not run:
# Assess significance and display trends
options(mc.cores = 2)
mp_test <- indictest(mp_indic, nperm = 49)
plot(mp_test)
## End(Not run)
# Try spatial coefficient of variation as a spatial EWS. This function can
# have arguments.
spatial_cv <- function(mat, subsize) {
matc <- coarse_grain(mat, subsize)
return( sd(matc) / mean(matc) )
}
# Create indicator function
cv_spews <- create_indicator(spatial_cv)
# Compute and display trends
cv_indic <- cv_spews(serengeti, subsize = 3)
plot(cv_indic, along = serengeti.rain)
## Not run:
indictest(cv_indic, nperm = 99)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.