`statespace_ch`

calculates the convex hull in 2-dimensional space, e.g.
for two selected indicators, using the `tri.mesh`

function.

statespace_ch(x, y, time, period_ref, period_current)

x | The coordinates of points in the first dimension (e.g. indicator 1 or PC1 scores from a PCA). |
---|---|

y | The coordinates of points in the second dimension (e.g. indicator 2 or the PC2 scores from a PCA). |

time | A vector containing the actual time series. |

period_ref | Vector of time units (e.g. years) used as reference period (minimum of 3 time units required). |

period_current | Vector of time units (e.g. years) used as current period to compare with the reference period (minimum of 3 time units required). |

The function returns a list with the following elements

`ch_ref`

A vector of the position of the convex hull of the reference period.

`ch_cur`

A vector of the position of the convex hull of the current period.

`inside_ch_ref`

A logical vector indicating whether each year (time step) of the current period lies inside (TRUE) or outside (FALSE) the state space domain of the reference period.

`xy`

A data frame of the x and y coordinates.

`time`

A vector of the full time series.

`period_ref`

A vector of years (time steps) defined as the reference period.

`period_current`

A vector of years (time steps) defined as the current period.

`statespace_ch`

implements a second state space approach to assess
the development of a suite of ecological state indicators
(Otto *et al.* 2018, Tett *et al.* 2008). While unidimensional
approaches such as the Euclidean distance (see `statespace_ed`

)
feature the disadvantage of defining one particular year or time step as
reference condition, this approach accounts for inter-annual variation by
defining a reference domain in state space based on several years: more
recent observations might be characterized as either within or outside this
domain.

The reference domain can be described by a convex hull, which is a multivariate
measure derived from computational geometry representing the smallest convex set
containing all the points in Euclidean plane or in Euclidean space
(de Berg *et al.*, 2008). While the convex hull can be calculated for
high-dimensional data, reducing the space to two dimensions allows for an easier
visualization and interpretation. Therefore, the `statespace_ch`

function only
calculates the convex hull for two dimensions, i.e. for two indicators or principal
axes obtained by multivariate analysis such as a Principal Component Analysis
(PCA).

de Berg, M., Cheong, O., van Kreveld, M., Overmars, M. (2008) Computational Geometry - Algorithms and Applications. Springer Berlin Heidelberg, 386pp.

Otto, S.A., Kadin, M., Casini, M., Torres, M.A., Blenckner, T. (2018)
A quantitative framework for selecting and validating food web indicators.
*Ecological Indicators*, 84: 619-631,
doi: https://doi.org/10.1016/j.ecolind.2017.05.045

Tett, P., Carreira, C., Mills, D.K., van Leeuwen, S., Foden, J., Bresnan, E.,
Gowen, R.J. (2008) Use of a Phytoplankton Community Index to assess the
health of coastal waters. *ICES Journal of Marine Science* 65, 1475-1482.

`tri.mesh`

for the computation of the convex hull.

Other state assessment functions:
`plot_statespace_ch()`

,
`plot_statespace_ed()`

,
`statespace_ed()`

# Using the Baltic Sea demo data in the package time <- ind_ex$Year period_ref <- 1979:1983 period_current <- 2004:2008 # Apply function on 2 indicators ch <- statespace_ch(x = ind_ex$TZA, y = ind_ex$MS, time, period_ref, period_current) # Conduct PCA on selected indicators using the correlation matrix (scale=T) ind_sel <- ind_ex[,c(2,3,4,8,10,11)] pca_out <- vegan::rda(ind_sel, scale=TRUE) pca_sum <- summary(pca_out) prop_expl <- as.vector(pca_sum$cont$importance[2,]) scores_unsc <- vegan::scores(pca_out, scaling = 0) scores_sites <- as.data.frame(scores_unsc$sites) x <- scores_sites$PC1 y <- scores_sites$PC2 # Apply function ch <- statespace_ch(x, y, time, period_ref, period_current)