ordiselect {goeveg} | R Documentation |
Species selection for ordination plots
Description
This function simplifies the selection of relevant species in ordination diagrams. It works with result objects from the vegan
package. The selection can be based upon cover abundances, frequency values and/or species fit to multivariate analysis (see Details).
The result is a vector of names of the selected species and can be used for the select
argument in ordination plots.
Usage
ordiselect(
matrix,
ord,
ablim = 1,
fitlim = 1,
choices = c(1, 2),
freq = FALSE,
na.rm = FALSE,
method = "axes",
env,
p.max = 0.05
)
Arguments
matrix |
Community data, a matrix-like object with samples in rows and species in columns. |
ord |
|
ablim |
Proportion of species with highest abundances to be displayed. Value between 0 and 1. Use negative sign for selection of lowest abundances, i.e. rarest species. |
fitlim |
Proportion of species with best fit to be displayed. Value between 0 and 1. |
choices |
Axes shown. |
freq |
Whether to use cover abundances (= default) or frequencies of |
na.rm |
Set to |
method |
The species fit method: |
env |
Fitted environmental variables (result object of |
p.max |
Significance limit for variables used in |
Value
A vector of variable length containing the names of selected species from matrix.
Details
Two methods for species fit are implemented.
In
method = "axes"
(default) species scores are used for selecting best fitting species. The basic assumption is that species that show high correlations to ordination axes provide a good fit to the assumed gradients, Hence high scores along ordination axes mean high correlation. All species with highest axis scores, defined by the threshold given in argumentfitlim
, will be filtered from the total ordination result.In
method = "factors"
, Euclidean distances between species and environmental variable centroids are calculated. Only factor variables are used fromenvfit
output. The species with smallest distances, defined byfitlim
argument as a threshold, will be filtered from the ordination result. Thep.max
argument allows selection of only significant variables, default isp.max = 0.05
.
The species fit methods work well both in eigenvalue-based and in distance-based ordinations and provide good option of objective reduction of visible species in ordination plot for better interpretation issues.
If axes fit should be applied on distance-based ordination, species scores need to be calculated during the analysis, e.g. by selecting wascores = TRUE
in metaMDS
. It is mostly recommendable to combine the species fit limit with an abundance limit to avoid overinterpretation of rare species.
For the abundance limit, note that the final proportion of the selected species may be higher than the indicated proportion if there are identical values in the abundances.
For selection of least abundant (rarest) species you can use a negative sign, e.g. ablim = -0.3
for the 30 percent least abundant species.
If both limits are defined only species meeting both conditions are selected.
If no limit is defined for one of the arguments ablim, fitlim
, all species are displayed.
The default for matrix
input is a cover-abundance-matrix. This matrix should also be used for ordination.
Author(s)
Friedemann von Lampe (fvonlampe@uni-goettingen.de) and Jenny Schellenberg
Examples
## Calculate DCA
library(vegan)
scheden.dca <- decorana(schedenveg)
## Select the 30% most abundant species and call the result
limited <- ordiselect(schedenveg, scheden.dca, ablim = 0.3)
limited
# Use the result in plotting
plot(scheden.dca, display="n")
points(scheden.dca, display="sites")
points(scheden.dca, display="species",
select = limited, pch = 3, col = "red", cex = 0.7)
ordipointlabel(scheden.dca, display="species",
select = limited, col="red", cex = 0.7, add = TRUE)
## Select the 70% of the species with the best fit to the axes (highest species scores)
## AND belonging to the 30% most frequent species
limited <- ordiselect(schedenveg, scheden.dca, ablim = 0.3,
fitlim = 0.7, freq = TRUE)
## Select the 30% least frequent species and call the result
limited <- ordiselect(schedenveg, scheden.dca, ablim = -0.3, freq = TRUE)
limited
## Select the 20% of species with the best fit to community assignment
## AND belonging to the 50% most abundant
## in NDMS for axes 1 & 3
nmds <- metaMDS(schedenveg, k = 3) # run NMDS
env13 <- envfit(nmds, schedenenv, choices = c(1, 3))
limited13 <- ordiselect(schedenveg, nmds, method = "factors",
fitlim = 0.1, ablim = 1,
choices = c(1,3), env = env13)
# Use the result in plotting
plot(nmds, display="sites", choices = c(1, 3))
plot(env13, p.max = 0.05)
points(nmds, display="species", choices = c(1,3),
select = limited13, pch = 3, col="red", cex=0.7)
ordipointlabel(nmds, display="species", choices = c(1,3),
select = limited13, col="red", cex=0.7, add = TRUE)