VEGAN RELEASE VERSIONS
CHANGES IN VEGAN 1.17-12
- This is a maintenance release which improves robustness of
several functions. A major release is expected soon.
- tolerance.cca: a new function to find the species response
widths (a.k.a. tolerances) and sample heteregeneities from a
- adonis: much faster.
- betadiver: argument 'index' was renamed to 'method' so that the
function can be used similarly as dist(), vegdist() and other
distance functions. This allows using betadiver() as a distance
function in metaMDS().
- cca/rda/capscale: handling of aliased and other zero-rank
components changed in vegan 1.17-11, but not all support
functions were adapted to these changes in that release. Now the
following functions cope with the changes and are more robust:
capscale, anova.cca, bstick.cca, goodness.cca, predict.cca,
screeplot.cca, calibrate.cca, deviance.cca/rda, ordiplot3d,
ordiresids, ordirgl, ordixytplot.
- isomap: text or points are plotted more cleanly, and text uses
- make.cepnames: a bit more flexible and robust, with a new
argument that allows selecting first and second name component
instead of first and last.
- metaMDSrotate: rotation could be slightly off with more than two
dimensions when there are NA scores.
- ordiellipse, ordihull, ordispider, orditorp: accept NA scores.
- ordilabel: gained argument 'select'.
- ordiplot: better handling of graphical arguments, arg 'cex' can
be set by the user.
- swan: gained new argument 'maxit' that allows setting maximum
number of iterations. Defaults 'maxit = Inf' or the current
behaviour of continuing as long as there are zeros that can be
CHANGES IN VEGAN 1.17-11
- This is a maintenance release which improves the robustness of
several functions but introduces no new important features.
- cca/rda/capscale: handling of aliased and other zero-rank
components changed. They are no longer made NULL and left
undisplayed, but now they are shown as zero rank. The general
output also changed so that proportions of inertia are only
shown if there are conditions or constraints, but not for
unconstrained analysis. The capscale() function no longer shows
species scores if these are unavailable. Several support
functions more robust.
- nobs: R 2.13.0 introduced generic function nobs() to find the
number of observations, and this release provides nobs() for
several vegan results. (This does not make vegan dependent on R
2.13.0, but vegan works with older R as well.)
- prc: allows anova(..., by = "axis") and other 'by' cases for
prc() results. Some rda() support functions still fail, but now
they stop informatively.
- specaccum: gained argument 'groups' which can be used to find
the number of species in subsets of the data.
CHANGES IN VEGAN 1.17-10
- This is minor revision that mainly fixes vegan with respect to
changes in the currently released R 2.13.0. Most importantly,
cmdscale() output changed in R 2.13.0 and because of this
capscale() could fail in some rare situations with argument 'add
= TRUE'. This vegan bug made BiodiversityR package fail its
tests in R 2.13.0.
- metaMDSrotate: gained argument na.rm = TRUE.
CHANGES IN VEGAN 1.17-9
- anova of cca/rda/capscale results gave wrong results in partial
models. The bug was introduced in vegan 1.17-7.
- diversity and related functions rarefy, rrarefy and specnumber
now accept vector input. Earlier a single site had to be
analysed either as a single-row matrix or using the non-default
setting MARGIN = 2.
- drarefy: new function that returns a matrix of probabilities
that a species occurs in a rarefied sample of a given size.
- metaMDS: it is possible to supply a starting configuration with
argument 'previous.best'. A previous metaMDS or isoMDS result can
also be given as a starting configuration. If the starting
configuration has a higher number of dimensions than requested,
the extra ones are dropped, and if the starting configuration
has fewer dimensions, random scores for extra dimensions will be
added. This may help in running metaMDS over a range of
- metaMDSrotate: can now rotate metaMDS solutions with any number
of dimensions so that the first axis is parallel to a fitted
environmental vector. Previously, only two dimensional solutions
- ordilabel: gained argument 'xpd' that allows labels outside the
plot area. This allows labels above axes, for instance.
- ordisurf: gained several new arguments to control the mgcv::gam
fitting. Also gained an argument to suppress plotting, and a new
plot method. The fitted model can be specified with a formula.
- prestonfit and friends: default is now 'tiesplit = TRUE' (which
was a new feature introduced in vegan 1.17-8).
CHANGES IN VEGAN 1.17-8
- prestonfit: fixed a bug in as.preston(): the largest octave
could be missing with 'tiesplit = TRUE'.
- decorana: spurious axes scores and eigenvalues could be reported
when the eigenvalues actually were zero. This was rarely a
problem with real data, but occurred only in arbitrary examples.
- procrustes: checks input.
CHANGES IN VEGAN 1.17-7
- anova.cca: more robust when models were fitted without 'data'
argument, or when 'na.action' or 'subset' was used.
- capscale: implemented 'subset' in model definition. Additive
constant with 'add = TRUE' is taken into account in predict()
and fitted(). Implemented simulate() which returns a
dissimilarity matrix with random error about predicted values.
- eigenvals: can now extract eigenvalues of some ade4 and labdsv
- nestednodf: did not use binary data when weighted = FALSE was
used together with order = FALSE. Reported by Daniel Spitale.
- prestonfit: gained option to split tied frequencies (1, 2, 4, 8,
etc.) between adjacent octaves.
- specaccum: implemented choice of using either "individuals" or
"sites" as x-axis in plot(). Corrected a typo in the result
object: now returns indeed "individuals".
CHANGES IN VEGAN 1.17-6
- capscale: vegan 1.17-5 defined total inertia as the sum of
absolute values of eigenvalues which changed the total inertia
from previous versions. This is changed so that the total
inertia is the sum of all eigenvalues, i.e., negative
eigenvalues are subtracted from the total which was the
definition in 1.17-4 and earlier. The proportions of inertia
components are now expressed for non-negative eigenvalues only,
and a new item "Real Total" (sum of positive eigenvalues) is
added to the output if there are negative eigenvalues
("Imaginary" component). The function no longer returns the
- CCorA: scaling of object scores changed: they are no longer
divided with sqrt(n-1). Minor fixes for improved robustness.
- metaMDS: automatically changes some arguments to non-default
values if input data contains negative entries. Help page gives
advice to do so for non-community data.
- wascores: checks that input weights are non-negative.
NEW FEATURES AND BUG FIXES IN VEGAN 1.17-5
- anova.cca: Empty models with no constrained component have
correct degrees of freedom. Tests 'by = "axis"' are really
marginal for all axes (first axis used to be non-marginal to
- as.mlm.cca/rda, intersetcor, vif.cca: avoid bug in qr.X in R
2.12.0 which use wrong variable names in aliased models (fixed
also in R 2.12.1).
- betadisper: plot did not allow selecting axes. Reported by Sarah
- capscale: failed with NA action (reported by Nevil Amos). Total
inertia is defined as the sum of absolute values of all
eigenvalues consistently with cmdscale (from R 2.12.1) and other
- cca/rda/capscale: print proportions of inertia components.
- decorana: Fortran code prints warnings of failed convergence.
Default plot() uses points if items have no name labels to be
- deviance.cca/rda: return 0 (instead of NA) for over-paremetrized
models with no unconstrained component.
- eigenvals: uses sum of absolute values of eigenvalues in models
that may have negative eigenvalues (cmdscale, wcmdscale,
capscale). Can extract eigenvalues of pcnm() and cmdscale() of R
2.12.1. Uses zapsmall() to print near-zero
- mantel.correlog: P-values could slightly off. The function uses
internally mantel() to evaluate the statistic and its
significance. The mantel() function adds one both to the
denominator and numerator, but mantel.correlog() did not notice
this and made the addition for the second time. When the
mantel.correlog() reported a positive value of the statistic, it
reversed the direction of the one-sided test of mantel(), but
did not handle tied values correctly in this reversal.
- nestednodf: Gustavo Carvalho's new version that also implements
a new quantitative method of Almeida-Neto & Ulrich (Env Mod
Software, 26, 173-178; 2011).
- oecosimu: takes care that the statistic is evaluated with binary
data when null models are binary (regression introduced in vegan
1.17-0). Can handle NA values in permutations (as na.rm = TRUE).
- ordilabel: gained new argument 'col' to set the text colour of
the labels separately from 'border'. Function ordiellipse() uses
this in filled polygons to set the colour of labels to that of
borders or foreground instead of the colour of the fill.
- ordiR2step: new function to model selection in rda() and
capscale() based on adjusted R2 following the recommendations of
Blanchet, Legendre & Borcard (Ecology 89, 2623-2632; 2008).
- ordistep: correct a name clash when the fitted model had term or
item called 'mod'. Reported by Richard Telford (Bergen, Norway).
- pcnm: returns the truncated distanced matrix with argument
- prc: rewritten by Cajo ter Braak with a fix to scaling of
coefficients for full compatibility with Canoco.
- procrustes: Fixed translation following the report and fix by
Christian Dudel (Bochum, Germany). New predict() method to
rotate 'newdata' points to the target. Graphics with plot()
select the direction of arrows with new argument 'to.target',
and use ordilabel() to display the labels with 'type = "t"'.
- rankindex: can take a list of dissimilarity functions as the
argument to allow the use of other dissimilarity functions than
vegdist() of vegan.
- rda/capscale: the scores() can take two scaling constants
('const'). One is used for species, second for WA and LC scores
of sites. This allows using scalings of prcomp(), princomp() or
Canoco (like documented in the design decisions vignette).
- swan: disconnected data caused infinite loop. Now zeros are left
to the result with disconnected data.
- treedist: can handle empty or one-node trees. Gained new
argument 'relative' (defaults TRUE): if FALSE, finds raw
dissimilarities of tree heights. Help page tells that relative
tree distances are in range 0..2 instead of 0..1, since
combining two trees may add a new common root.
- treedive: handles trivial cases of zero (diversity NA) or one
species (diversity 0).
- vegdist: help page gives now binary variants of the indices
using designdist() notation.
- vif.cca: can handle models with aliased terms.
- wcmdscale: returns goodness of fit statistic (item GOF) and
handles negative eigenvalues consistently with cmdscale() and
NEW FEATURES AND BUG FIXES IN VEGAN 1.17-4
- MOStest: a new set of functions to implement generalized
Mitchell-Olds & Shaw test for the location of the quadratic
extreme in a given interval. The test can also be used for the
location of the optimum of the Gaussian response model. In
addition to the basic test, there are Fieller and deviance
profile methods for the confidence interval of the location of
the quadratic extreme or Gaussian optimum.
- mrpp & meandist: mrpp() does not evaluate the Classification
Strength (CS) of Van Sickle & Hughes (J. N. Am. Benthol. Soc.,
19: 370-384; 2000) any longer. The old version misinterpreted
the weighting scheme of CS, and with correct scheme there is no
exact relationship between CS and the corresponding MRPP
statistic and therefore permutation tests are not available. CS
is still evaluated in meandist(), but with corrected weighting
scheme, and no tests are performed. Reported by Dr John Van
Sickle (Corvallis OR).
- msoplot: legend text was in a wrong order. Reported by Daniel
- vegdist: Marti Anderson variant of the Gower distance (method =
"altGower") should be without range standardization. Reported by
- ordiellipse: labels disappeared in their background with 'draw =
- predict.cca and predict.rda: gained argument 'newdata' for 'type
= "response"' and 'type = "working"'. These return estimates
of the response data, or dissimilarities in capscale().
NEW FEATURES AND BUG FIXES IN VEGAN 1.17-3
- adonis: handles ties correctly.
- anova.cca and permutest.cca: permutations of cca result is
faster and now nearly equally fast (or slow) in rda and cca.
- betadisper: 'type = "median"' (the default) was not computing
the spatial median on the real and imaginary axes separately.
Reported by Marek Omelka.
- cca, rda and capscale failed when Condition() was a factor, but
the constraints had only continuous variables.
- envfit: defaults to use 999 permutations instead of skipping
- mantel and mantel.partial: faster permutation.
- mantel.correlog: upgraded and faster.
- ordiarrows, ordisegments and ordispider gained argument 'label'
to label the groups corresponding to drawn arrows or lines.
- ordiresids: de-weights residuals and fitted values in CCA so
that these are identical to the values shuffled in simulate.cca.
- permutest.cca: adds observed statistic among permutations when
printing the result (does not influence anova.cca or
- RsquareAdj: The 'rda' method used wrong number of degrees of
freedom in rank deficit models (number of dependent variables
was lower than the rank of constraints and conditions). Default
method handles vector input.
- scores: default method works with one row of scores. The scores
of "cca" and "rda" methods always have names, even if there are
no names in the input data.
- Permutation tests: The available permutation tests are described
in a new help files accessed via ?permutations.
NEW FEATURES IN VEGAN 1.17-2
- permutest.betadisper: printed P-values in a wrong order in
displaying the the matrix of pairwise tests (the values were
correct, but formatting failed). Reported by Dan O'Shea.
- nesteddisc: failed if the most species rich sites were tied. The
function is now much faster (though still slow), but the price
is that it does not try as hard to find the optimal ordering.
- screeplot.cca & friends: new argument 'legend' for all methods
(except 'decorana') to draw a legend if the observed and broken
stick distribution are both plotted.
- ordistep: adds an 'anova' item to the final model similarly as
the standard step(). You can suppress the tracing ('trace =
FALSE'), and find the model build history save in 'anova' in a
- densityplot.oecosimu: gave warnings when there was only one
statistic and hence one lattice panel.
- predict functions for cca and rda objects match 'newdata' by
dimension names instead of index.
- simulate.rda and simulate.cca have new argument 'rank' which
allows using lower rank presentation of fitted values
(including rank = 0).
- treedist: new function to find dissimilarities of species
property trees of communities. The property trees can be, e.g.,
functional diversity trees, taxonomies or phylogenies. Similar
in spirit to UniFrac distance (C. Lozupone & R. Knight, Appl
Environ Microbiol 71:8225-8235; 2005), but completely different
in design and works only with binary data.
NEW FEATURES AND FIXES IN VEGAN 1.17-1
- multipart: new functions for multiplicative partionining of
gamma diversity into alpha and beta diversity components.
- CCorA: Fixed choice of scores in biplots -- Used PC scores
instead of observed scores in the right-hand-side biplot
panel. The biplot function has several new and enhanched
alternatives of plots.
- envfit: ignored weights in cca() results for factors or a single
continuous variable. The bug was introduced with NA handling
upgrade in vegan 1.17-0. The problem with fitted vectors was
reported by Richard Telford (Bergen, Norway).
CHANGES AND NEW FEATURES IN VEGAN 1.17-0
- Guillaume Blanchet joined the vegan team.
- New function to partition data-set diversity (gamma) into
within-plot (alpha) and between-plot (beta) diversity
components. Function adipart performs additive
partitioning (gamma = alpha + beta). Function hiersimu performs
hierarchical null model testing similar to adipart but by using
custom function to calculate statistics for levels of a hierarchy.
- Subsets and missing value handling added to constrained
ordination methods cca(), rda() and capscale(). The missing
values (NA) can be handled with setting na.action (defaults
na.fail). With na.action = na.omit, observations with missing
values are removed, and with na.action = na.exclude they are
kept, but scores may be NA. However, the WA scores for sites are
available in non-partial models with na.action = na.exclude.
The 'subset' can be defined using any variable in the
constraining data set or species in the dependent data.
- Functions for fitting environmental variables onto ordination
(envfit, ordisurf) are aware of missing values in constraints or
NA values in scores. The ordination plot functions also can
handle NA scores.
- New and upgraded quantitative null models. In particular,
quantitative swap models (function abuswap) allows generetating
null matrices where marginal totals and fill are fixed, or row
and column fills are fixed, or row and column fills and either
row or column totals are fixed.
- oecosimu: rewritten to handle quantitative null models. Gained
keyword 'alternative' for "two-sided", or "less" and "greater"
one-sided tests. More robust with degenerate solutions. The
'method' can now be a user-supplied function. New support
functions as.ts() and as.mcmc which transform sequential models
into form that can be analysed using tools for time-series
(as.ts()) or MCMC sequences of the 'coda' package (as.mcmc).
- calibrate: calibrate is now a generic function with a new method
calibrate.ordisurf() in addition to the old calibrate.cca. These
find the estimates of environmental variables from ordination.
- ordistep: stepwise selection of terms in constrained ordination
(cca, rda and capscale) using permutation tests instead of
pseudo-AIC that is used by the standard step() function.
- pcnm: new function to find weighted principal coordinates of
neighbour matrix (PCNM) from distances between points. These are
typically used for spatial filtering in constrained
ordination. The function uses weighted analysis and can
therefore produce PCNM for correspondence analysis in addition
to PCA and RDA.
- betadisper: can use spatial medians which are now the default
method. Preliminary tests indicate that spatial medians correct
the anti-conservative Type I errors reported by Stewart
- decostand & vegdist: new transformation 'log' which implements
Marti Anderson's scaling log(x) + 1 for x>0 (which is not at all
the same as log(x+1)), and vegdist has alternative Gower
function that skips double zeros. Together these implement the
"modified Gower" distance of Anderson et al. (Ecology Letters 9,
683-693; 2006). Feature request #473 by Etienne Laliberte in
- model.matrix.cca & model.frame.cca: new functions to reconstruct
the model frame and model matrix (model matrices in partial
models) of constraints used in ordination methods cca(), rda()
- simulate.cca & simulate.cca: simulate the community (response)
data from the result of cca() or rda() under alternative
hypothesis. Error is added to the fitted values from
ordination. The function uses either Gaussian error or permutes
residuals and adds these to fitted values.
- spandepth: a new function to find the depth of each node in the
minimum spanning tree produced by spantree(). Feature request by
W. E. Sharp.
- alias.cca: gained argument names.only.
- metaMDSrotate: a new function to rotate metaMDS so that first
axis is parallel to an environmental variable.
- msoplot: uses standard legend.
- nesteddisc: new method that tries to find the smallest possible
value of the statistic in tied data. Slow, but fixes the
problems of the published method. The problem with tied values
in nesteddisc was found with Carsten Dormann.
- contribdiv: gained a plot method.
- rarefy: failed with one site and many sample sizes like
rarefy(rpois(10, 2), sample=2:3).
- meandist: plot can draw histograms as an alternative to
- plot functions for 'decorana' and 'cca' and friends and
'ordiplot' use 'linestack' if only one axis was requested.
CHANGES IN VEGAN 1.15-4
- Changed package dependence: vegan does not depend on 'ellipse'.
- anosim: user interface identical to 'mrpp'. Accepts now data
matrix and finds dissimilarities internally.
- betadisper: fix removal of zero eigenvalues with non-Euclidean
distances. This may change the results slightly, but in most
cases the effects are minor or none.
- capscale: has now 'fitted' and 'residual' methods, and 'predict'
works with 'type = "response"'. These return dissimilarities
that produce the same ordination as the original data.
- indpower: new function to find the indicator power of species to
predict presence of other species (Halme et al., Conservation
Biology 23, 1008-1016; 2009). Closely related to the the power
to predict probabilities in beals().
- mantel.correlog: new functions to produce multivariate Mantel
correlograms (Legendre & Legendre, Numerical Ecology, section
- metaMDS: accepts user-supplied dissimilarities. Species scores,
data transformation, step-across and half-change scaling are
unavailable with user-supplied dissimilarities, but random
starts, PC rotation and scaling to original range of input
- nestedtemp: row and column labels can be turned on/off
independently in plots.
- ordihull & ordiellipse: new argument 'label' to plot group names
for hulls or ellipses. Return (invisibly) the data for plotted
convex hulls or ellipses. In 'ordihull' this is a list of hull
vertices, and in 'ordiellipse' a list of (scaled) covariance and
centre data for ellipses. New 'summary' methods find the centres
and areas of plotted hulls or ellipses. Argument 'draw' has new
option "none" that suppresses all drawing so that only the data
for summary can be extracted without plotting.
- orditorp: works with reversed axes, like with 'xlim = c(3, -3)'.
- ordixyplot: has a panel function for arrows: a lattice variant
- poolaccum, estaccumR: new functions to find the specpool() or
estimateR() estimates of extrapolated species richness in random
accumulations of sites. These have 'plot' and 'summary' methods.
- scores: functions biplot, points, text, ordilabel, ordiplot3d,
ordixyplot and spantreee did not pass all arguments to scores()
function. In particular, this concerned rda where 'scaling' and
'const' arguments could not be used within these functions.
- radfit: new function 'radlattice' for a lattice plots of fitted
models for a single site.
- rrarefy: a new function to generate random rarefied communities.
- RsquareAdj: now a generic function to find adjusted R squared
with special cases to 'rda', 'cca', 'lm' and 'glm'.
- summary.cca: cleaner output.
- wcmdscale: returns scaled scores for axes with negative
CHANGES IN VEGAN 1.15-3
- anosim, mantel, mrpp, protest, envfit: did not include the
observed statistic among permutations. Functions adonis and
permutest.cca did this correctly, but did not print results
- anova.cca: name clash if data were indexed with 'i'.
- capscale: fixed handling of negative eigenvalues with
non-Euclidean distances. The total inertia is the sum of all
eigenvalues so that negative eigenvalues are subtracted from the
total. The total inertia of negative components and their rank
(number) is given as 'Imaginary' component, and the negative
eigenvalues are listed after unconstrained positive eigenvalues.
The procedure is based on Gower, Linear Algebra and its
Applications 67, 81-97 (1985). New argument 'sqrt.dist' takes
square root of the internally calculated dissimilarities and
avoids negative eigenvalues with some indices, such as vegan
Jaccard and Bray-Curtis. The adjustment is corrected for indices
with upper limit of one, and the reported eigenvalues and
inertia components are reduced by a factor of sqrt(n-1) and are
similar to those reported by 'cmdscale' or 'wcmdscale'.
- eigenvals: a new function to extract eigenvalues from rda, cca,
capscale, wcmdscale, prcomp, princomp, svd or eigen. If the
result object contains squareroots of eigenvalues, they are
squared. The summary method also finds proportions and
cumulative proportions explained. Function summary.cca now uses
this to display eigenvalues.
- kendall.global: could get wrong counts of ties in large data
- meandist: new sister function to 'mrpp' that finds mean
within-group and between-group dissimilarities. The summary
function finds overall averages of these, and returns all three
MRPP variants plus classification strength. The plot method
draws a dendrogram based on the mean dissimilarity matrix, with
leaves hanging to within-groups dissimilarity. The functions
follow Sickle, J. Agric. Biol. Envir. Stat. 2, 370-388 (1997).
- ordisurf: fits now linear or quadratic trend surfaces if
'knots' argument is set to 0, 1, or 2.
- orditkplot: copes with NA and NaN scores.
- ordixyplot: mixed x and y axes for biplot arrows and class
centroids. Function failed in constrained ordination.
- tsallis: gained argument 'hill' to find results analogous to
Hill numbers in renyi(), or the species number equivalents of
- wcmdscale: removes now zero eigenvalues instead of the last
eigenvalue. The bug was copied from cmdscale(), which still has
the bug in R 2.9.0 (plus another that was not copied to
CHANGES IN VEGAN 1.15-2
- adonis: adds one to numerator and denominator of permutation
tests, the default number of iterations was raised from 5 to
999, and the result object got a 'terms' component. Uses much
less memory allowing analysis of larger problems.
- anova.cca: anova(..., by = "axis") gained new keyword 'cutoff'
to stop permutation tests after exceeding the given cut off
level of significance. The second term of anova(..., by =
"margin") used different random numbers than other terms.
- beals: Completely rewritten by Miquel de Caceres. Knows now
also the cross validated version of Beals smoothing and other
choices described by De Caceres & Legendre, Oecologia 156,
- betadisper: handles missing values both in dissimilarities and
- cca/rda: cleaner output of summary() in unconstrained models.
- commsimulator: simulated result retains original row and column
- contribdiv: new function for contribution diversity (Lu et al.,
Basic and Applied Ecology 8, 1-12; 2007).
- decostand: gained dots in argument list, so that
stressplot(metaMDS(x, dist = "gower", trymax = 40)) works.
- dispindmorisita: new function for the Morisita index of
dispersion. See Krebs, Ecological Methodology; 1999.
- kendall.global and kendall.post: new functions for Kendall's
coefficient of concordance. In ecology these can be used to
identify significant species associations (Legendre, J Agric
Biol Environm Stat 10, 226-245; 2005).
- metaMDS: more robust with distances like Euclidean and Manhattan
which have no upper limit. The stepacross works correctly for
these, but gives a warning that its use may not be sensible.
There is a better heuristics to avoid half-change scaling with
these indices. The 'halfchange' argument is now honoured when
given in metaMDS() call.
- mrpp: returns within-class dissimilarities. Evaluates
classification strength (Van Sickle, Biological and
Environmental Statistics, 2, 370-388; 1997) if weight.type = 3
- nestednodf: new nestedness function of overlap and decreasing
fill (Almeida-Neto et al., Oikos 117, 1227-1239; 2008). Coding
by Gustava Carvalho.
- ordirgl: no more superfluous warnings with type = "t".
- ordisurf: gained an argument 'bubble' to draw bubble plots, or
vary point sizes according the value of the observed variable.
The (invisible) return object now has an item 'grid' for the
fitted value and grid values.
- orditkplot: can produce TIFF graphics, if installed R has this
- procrustes: new text() function.
- radfit: broken-stick model (function rad.null) failed with
Gaussian and Gamma error families. The plot.radfit command
gains argument log = "y", which allows using arithmetic scales
or log-log scales where Zipf model is a straight line.
- spantree: retains names and uses labels in plot.
- datasets: Oribatid mites (data 'mite') got taxon names.
- help files updated, and do not raise errors or warnings with the
Rd parser version 2 in R 2.9.0.
CHANGES IN VEGAN 1.15-1
- betadisper and related functions now work when the 'group'
argument represents a single group/level.
- decorana: 'text' function failed.
- cca/rda/capscale: cleaner handling of results with missing
(NULL) row or column names, also in plots.
- cca/rda/capscale: new functions 'head' and 'tail' for 'summary'
of cca results to show only some rows of the scores.
- nestedness: method nesteddisc was found to be strongly dependent
on the ordering of tied column (species) frequencies. A warning
is now issued, and development version of vegan in
http://vegan.r-forge.r-project.org/ has an experimental function
that tries to find the optimal ordering.
- permatfull: 'row'/'column' arguments were mixed.
- radfit: all methods work consistently for communities of 0, 1 or
- wcmdscale: typo in the result object items corrected.
CHANGES IN VEGAN 1.15-0
- Peter Solymos joined the vegan development team.
- add1.cca and drop1.cca: functions to implement permutation tests
with argument test = "permutation". Function drop1.cca uses
anova.cca(..., by = "margin") and add1.cca implements a new type
of analysis for single term additions.
- ordilabel: new alternative for cluttered ordination plots. Text
is written on opaque labels. The texts still cover each other,
but at least the uppermost are readable, and the ordering can be
controlled by 'priority' argument. Similar to 's.label' in ade4
- ordipointlabel: new alternative for cluttered ordination plots.
Points are in fixed positions, but their text labels are
located to avoid overplotting. The optimization uses simulated
annealing of 'optim' function. Returns an "orditkplot" object so
that the results can be edited with 'orditkplot'. Similar to
'pointLabel' function in maptools package.
- permatfull, permatswap: functions to permute quantitative count
- treedive: estimation of functional diversity defined as the
height of the dendrogram of species properties (Petchey & Gaston,
Ecology Letters 9, 741-758; 2006). With a helper function
'treeheight' to find the height of a 'hclust' dendrogram.
- tsallis: Tsallis entropy family as an alternative to 'renyi'.
- wcmdscale: weighted metric scaling a.k.a. weighted principal
coordinates analysis; only uses row weights.
NEW FEATURES AND FIXES
- anova.cca: default permutation model changed from "direct" to
"reduced" after Pierre Legendre demonstrated that model
"reduced" was superior in term of Type I error.
- anova.cca: handles smoothly models where constrained or
unconstrained models are NULL and the tests are impossible (used
to stop with error).
- anova.cca(..., by = "margin") was handling wrongly 'x' in
'~Condition(x) + x + z', or model formulae where same variables
where used both as conditions and (aliased) constraints.
- cca/rda/capscale: improved robustness in the formula
interface. Partial handling of "cca" objects produced by
- commsimulator: swap, trial swap and quasiswap written in C and
*much* faster (100x in some tests).
- oecosimu: accepts now a vector of statistics, and the user can
give the name of the statistic in the function call.
- ordiplot: did not use partial matching for "sites" and
- orditkplot: Improved user interface. Improved zooming into
graphs. Imitates R plotting characters ('pch'). Label font
family, size and font type can be vectors.
- permuted.index2 and associated functions allow for restricted
permutations of strata (i.e., restricted shuffling of blocks).
- specaccum: removes missing (all zero) species which gave sd = NA
with method = "exact".
CHANGES IN VEGAN 1.13-2
- anova.cca (and permutest.cca) now calculate the residual df as
(number of rows) - (rank of constraints and conditions) - 1
instead of using the rank of the residual ordination. With
single response variable in 'rda' the degrees of freedom and
F-values are now identical to those in 'lm' (linear
model). However, the change does not influence significances
(P-values), because these have been always found by permutation,
and this change does not influence the order statistic used in
- oecosimu: always estimates the original statistic with binary
data even when the user supplies quantitative data.
- orditkplot: no superfluous pointer lines when moving labels.
- procrustes plot failed if two configurations were exactly
- rda (and capscale) use internal scaling constant so that the
returned site and species scores with scalings 1, 2 or 3
together provide a biplot approximation of the original
data. This scaling constant is calculated internally, but now
its numerical value is returned as an attribute of 'scores.rda',
and 'summary' displays its value. Vignette on "Design decisions
and implementation" in vegan explains the calculation of the
internal scaling constant.
- summary of capscale identical to the summary of rda.
- scores of rda and capscale with scaling = 0 really return the
unmodified scores without the scaling constant.
CHANGES IN VEGAN 1.13-1
- Helene Wagner joined the vegan team.
FIXES FOR HANDLING RANKS IN CONSTRAINED ORDINATION
- cca, rda and capscale had only known one kind of rank: the rank
of the ordination result (= number of axes). In fact there are
two other types of ranks: the rank of constraints after removing
conditions, and the rank of constraints + conditions, where
conditions refer to terms "partialled out". This hit those that
tried to use rda with single response variable instead of
community matrix, and also some partial models were handled
wrongly. The changes mainly concern cases where the rank of
constraints is higher than the rank of the ordination (more
constraints than ordination axes). The changes have visible
effects in following support functions:
- alias: no superfluous aliasing of terms, partial models aliased
- anova: always uses rank of the constraints which also fixes
anova(..., by = "terms") when single response variable was used.
- calibrate.cca: identifies cases when the rank of constraints is
higher than the rank of ordination and refuses to analyse these.
- extractAIC: uses rank of constraints for degrees of freedom.
- predict: predict(..., type = "lc", newdata = somedata) works in
- adonis: faster and improved documentation.
- intersetcor and inertcomp now check that input really is from
constrained ordination instead of giving obscure error messages.
- lines.spantree knows again graphical arguments such as 'col',
- mite.xy: new data set on the spatial coordinates of sample sites
of Oribatid mites.
- mso: plot.mso replaced with msoplot, and plot function now
displays the ordination scatter plot. Function msoplot collapses
distances larger than half of the maximum distance into a single
distance class. Printed result shows the variogram data.
- ordicluster, ordiellipse, ordispider, orglspider, ordisurf,
factorfit and vectorfit could fail with non-vegan ordination
objects in R 2.7.0 whose weights.default function gave error if
object had no weights (these worked in R 2.6.2 and earlier).
- taxa2dist: has a "method" name for distances.
CHANGES IN VEGAN 1.13-0
- Based on development version 1.12-15 (revision 354 at
- betadiver: beta diversity functions as reviewed by Patricia
Koleff et al. (J. Anim. Ecol., 72, 367-382; 2003), with a plot
function to produce triangular plots.
- mso: Helene Wagner's multiscale ordination or spatial
partitioning of cca and rda. This is taken from the Ecological
Archives with minimal edition with the permission of Helene
- nestedtemp: matrix temperature method for oecosimu following
Rodriguez-Girones & Santamaria (J. Biogeogr. 33, 924-935; 2006),
but still without iterative optimization of row and column
- TukeyHSD.betadisper: pairwise comparisons for betadisper.
NEW FEATURES AND FIXES
- adonis: returns both species and site scores.
- betadisper: was not calculating distance to centroid correctly
for observations where the imaginary distance to centroid was
greater than the real distance. Now takes the absolute value of
the combined distance before taking the square root. This is
in-line with Marti Anderson's PERMDISP2.
- BCI: example has spatial coordinates of plots.
- biplot.rda: argument for arrow col.
- capscale: accepts other distance functions than vegdist, and can
use metaMDSdist for extended dissimilarites & "metaPCoA".
- designdist: knows 2x2 contingency table notation with a, b, c,
- metaMDS: transforms data like with distances for species WA.
- orditkplot: allows editing labels and zooming into plot.
- permDisper: renamed to permutest.betadisper.
- permutest: now a generic function, currently with methods
'cca' and 'permDisper'.
- rarefy: accepts vectors of sample sizes.
- rgl.isomap: dynamic rgl plots for isomap.
- screeplot.cca etc: return invisibly xycoords.
- specaccum: returns numbers of individuals with method = "rarefaction".
- summary.cca: returns more statistics on "variance explained by axes".
- zzz: vegan got startup message.
CHANGES IN VEGAN VERSION 1.11-4
- A critical bug fix in adonis: there was a critical bug in adonis
code, and inconsistent statistics were used in permutations so
that P-values were grossly wrong in multi-variables models
(single variable models were OK). In addition, df were wrong in
deficit rank models, and unused factor levels were not dropped.
All adonis users should upgrade and rerun their analyses.
CHANGES IN VEGAN VERSION 1.11-3
- Bug fixes from Rev. 305 on http://r-forge.r-project.org/.
- anova.cca: number of permutations could exceed perm.max.
- permuted.index2: updated to the version in devel branch. This
means bugfixes in permCheck, numPerms and permuted.index2. It
also adds allPerms to get all possible permutations when
complete enumeration is feasible. In addition, there is now a
function permuplot to graphically show the current permutation
- plot.cca, plot.envfit and associates: automatic scaling of
biplot arrows and fitted vectors was wrong when axes were
reversed (like 'xlim = c(1,-1)') or the origin was shifted in
plot.envfit (like 'at = c(1,1)'). Added internal function
- plot.procrustes: failed if two configurations were identical.
- varpart4: sum of squares was wrong if called directly instead of
being called via varpart(). Reported by Guillaume Blanchet.
CHANGES IN VEGAN VERSION 1.11-2
- minor bug fixes and documentation updates from the devel trunk.
- version 1.11-1 was made but never released to CRAN, and this is
the first minor release of the 1.11 series.
FIXES AND UPDATES
- bstick.princomp: works now.
- numPerms: was returning incorrect number of permutations
when type = "strata" selected.
- permuted.index2: was permuting samples within levels of strata
as well as permuting the levels themselves if type = "strata"
- Documentation: diversity-vegan gains discussion on taxonomic
diversity and using designdist for analysing beta diversity.
Proof-reading and updates in diversity-vegan and FAQ-vegan.
CHANGES IN VEGAN VERSION 1.11-0
- Based on devel version 1.10-13 (rev. 205 at R-Forge).
- Gavin Simpson joined the vegan team.
- Suggests now 'tcltk' (for orditkplot).
- anova.cca gained a new support function to analyse marginal
effects of individual terms (which are similar to Type III
effects). Defined with argument 'by = "margin"'.
- betadisper: new functions for Marti Anderson's analysis of
homogeneity of multivariate dispersions.
- biplot.rda: biplot function for PCA run with rda. Arrows are
used instead of points.
- CCorA: Canonical correlation analysis with a robust algorithm,
with permutation test and plot function.
- oecosimu: functions to analyse nestedness of communities (such
as on islands or patches). Function oecosimu is a general
wrapper, and commsimulator generates null-communities of various
types (r00, r0, r1, r2, c0, swap, trial swap, backtracking,
quasiswap). The nestedness can be analysed with functions like
nestedchecker (number of checkerboard units), nestedn0 (measure
N0), nesteddisc (discrepancy), but users can supply their own
functions or even use some standard R functions such as
- ordiresids: similar diagnostic plots as in plot.lm for
constrained ordination: Residuals ~ Fitted, sqrt(abs(Residuals))
~ Fitted, and qqmath(~ Residuals) using Lattice graphics.
- orditkplot: interactive and editable plotting function. Function
displays one set of points (species, sites) using both points
and labels (text). The points are fixed, but labels can be
dragged to better positions with mouse. The edited plots can be
saved as EPS, exported to various graphical formats (EPS, PDF,
PNG, JPEG, BMP, XFIG depending on the system) or dumped back to
the R session for plotting and further processing.
- ordixyplot: a set of functions for Lattice graphics of
ordination results. Includes ordixyplot for 2D graphics,
ordisplom for pairs plots, and ordicloud for 3D graphics. All
can be subsetted and formatted in the usual Lattice way.
- permuted.index2: New version of permuted.index() that now allows
restricted permutations. Can produce permutations for
time-series or line transects and for spatial grids. These can
also be nested within 'strata'. permuted.series() and
permuted.grid() are the relevant workhorse
functions. Permutation options are set by new function
permControl(). Currently used only in betadisper, but we plan to
migrate vegan functions to permuted.index2() in the devel
version, and will eventually replace the current
permuted.index(). With support function permCheck for checking
NEW DATA SETS
- sipoo: birds in the Sipoo archipelago (Finland, too close to
NEW FEATURES AND FIXES
- adonis: accepts any 'dist' object as input.
- as.mlm.cca, as.mlm.rda use now correct names for variables in
aliased models. The data were pivoted correctly in R, but the
labels were not.
- anova.cca assesses now P value as (hits+1)/(tries+1).
- anova.cca: anova(..., by = "axis") failed when fitted model had
terms like poly(x,2) or log(x).
- bgdispersal uses now a more powerful statistic for the McNemar
test (in terms of Type 1 error rate).
- calibrate.cca does correct pivoting in aliased models.
- capscale: negative scaling in plot works similarly as in rda.
- decorana does not crash R when called with NULL row data, such
as decorana(dune[FALSE,]). Method predict(..., type="sites")
works correctly with downweighted analysis.
- fitted.cca, fitted.rda gained argument type = "working" to get
the fitted values and residuals used internally in calculation
(in cca() these are weigthed and Chi-square standardized
- isomap checks that input data are dissimilarities or can be
changed into dissimilarities without warnings.
- metaMDS gains argument wascores (defaults TRUE) to suppress
calculation of species scores.
- orditorp now handles "..." more cleanly.
- scores.cca, scores.rda accept display = c("species", "sites").
- summary.prc honours argument 'axis'.
- taxa2dist issues now a warning if called with 'check = FALSE'
and some distances == 0, typically meaning that basal taxa
(species) were not coded.
- varpart failed if there were unused levels in factors.
- wascores returns now NA for missing (all zero) species instead
- new documents: FAQ, a simple introduction to ordination in
vegan, a detailed explanation of diversity methods. New
- Added these NEWS.
OLDER VEGAN VERSIONS
Version 1.8-8 (Oct 2, 2007)
* Minor bugfix release for upcoming R-2.6.0. Based on the
http://r-forge.r-project.org/projects/vegan/ revision 17 (= 1.8-7)
with ported bug fix revisions (see below for revision numbers).
* anova.cca: by = "term" failed in partial model. This was broken
in 1.8-6 by introducing a test against deficit rank models (r47).
* cascadeKM: Calinski index works now when the input data is a
* flush.console: metaMDSiter and bioenv use now flush.console()
so that Windows people also see the trace (r56).
* ordispantree: made defunct, was deprecated in 1.8-1 (r38).
* scores: handles now numeric data frames (r25).
* summary.cca: failed if only one type of scores was requested
* taxondive: Fixed dim checking and matching species names in
community data and taxonomic distance data (r21).
* tweaks to pass --pedantic R CMD check, mainly in formatting
source files, unused variables in source files and superfluous
braces in help files (r39, r46, r62).
* Updated FAQ-vegan.pdf to the current version at R-Forge.
Version 1.8-7 (August 24, 2007)
* Based on devel version 1.9-34.
* DESCRIPTION: M. Henry H. Stevens (Miami University, Oxford,
Ohio) joined the vegan team.
* adonis: new function for nonparametric MANOVA that is
appropriate for even extremely wide matrices sometimes associated
with gene data and with diverse ecological communities. Author
* taxondive: a new function for indices of taxonomic diversity and
distinctness after Clarke & Warwick (Mar Ecol Prog Ser 216,
265--278, 2001 and other papers). With a helper function
'taxa2dist' to turn taxonomies into distances with an option for
variable step length (Clarke & Warwick, Mar Ecol Prog Ser 184,
21--29, 1999), and a toy data set on the taxonomy of dune meadow
species ('dune.taxon'). With a help, testing and pressure from
Mike Cappo, James Cook Uni, Qld.
* bgdispersal: previous version was partly garbled (by me), and
P. Legendre provided a corrected one.
* designdist: keeps 'dist' attributes even when the 'method'
function drops them. Swapped the order to (terms, methods) in the
* metaMDS: issues a warning if data are disconnected. Passes extra
arguments to other 'distfun' than 'vegdist' so that you can set
'terms' in 'designdist' etc (metaMDSdist). Can now do trymax=0 or
skip random starts and give you enhanced 'isoMDS' result
* ordiplot: failed if number of species was equal to number of
sites (and so did plot.metaMDS and plot.isomap using this).
* plot.profile.fisherfit: corrected a harmless error detected by
* predict.rda: removed some dead (but heavy) code from type =
Version 1.8-6 (May 9, 2007)
* Based on devel version 1.9-23.
* as.mlm.cca, as.mlm.rda: new functions to refit constrained
ordination result (cca, rda, capscale) as a multiple response
linear model. You can find influence statistics (Cook's distance,
hat values) from the refitted model. You also can find t-values
etc., but these have the same bias as in other software and should
not be used.
* bgdispersal: a new function for dispersal direction in
biogeography (Legendre & Legendre 1998, section 13.3.4). Author
* designdist: a new function for defining your own dissimilarity
index or for estimating beta diversity (Koleff et al.,
J. Ecol. 72, 367-382; 2003).
* isomap: a new function for isometric feature mapping of
Tenenbaum et al. (Science 290, 2319-2323; 2000).
* screeplot, bstick: new functions to draw screeplots of vegan
ordination results with brokenstick lines, and alternative
screeplot functions for prcomp and princomp with brokenstick.
Author Gavin L. Simpson.
* swan: a new function for the degree of absence (Swan 1970,
Ecology 51, 89-102).
* anova.cca: now refuses to do 'by = "terms"' if the rank of
constraints is higher than the rank of the community matrix.
* bioenv: gains argument 'partial' to perform partial bioenv.
* cca, rda, capscale: can now handle longer expression within
'Condition()' (ordiParseFormula). Used to drop observations with
missing values in unused variables (ordiGetData).
* goodness.cca, goodness.rda. 'statistic = "distance"' was wrongly
implemented. Now refuses to find "distance" in constrained
analysis: distances of constrained and unconstrained components do
not add up to to distances in unconstrained ordination.
* metaMDS (metaMDSdist): gains argument 'distfun' to use other
dissimilarity functions than vegdist.
* renyiaccum: used a variable that was not defined as an argument.
Added support functions persp.renyiaccum and rgl.renyiaccum
* stressplot: R2's renamed to 'non-metric fit' and 'linear fit'.
* Doc: Corrected reference to Hurlbert in diversity (thanks to
Ralph Grundel). Updated references (varpart, renyiaccum). Removed
discussion on t-values in cca from vignettes, because as.mlm.cca
now implements those. General cleanup and better utf-8 encoding.
Version 1.8-5 (January 11, 2007)
* Based on devel version 1.9-12.
* no.shared (manifest in metaMDS): prints thousands of lines of
debugging info that I forgot to deactive in release. Not fatal,
but extremely annoying.
* capscale: inertia name as "unknown" if the dissimilarity object
does not have a "method" name. Suggested by Roeland Kindt.
* DESCRIPTION: license is now explicitly GPL v2 (but not later).
Version 1.8-4 (January 8, 2007)
* Based on devel version 1.9-10.
* cascadeKM: a new function to wrap kmeans and optimality criteria
for classification (Sebastien Durand, Pierre Legendre & Marie
* renyiaccum: a new function for Renyi (and Hill) accumulation
curves (Roeland Kindt).
* bioenv: bioenv.formula uses now "na.action = NULL" in
'model.frame', and bioenv.default passes arguments to 'cor' which
means that you can set NA treatment in 'cor' using argument "use".
* cca, rda: added "..." to formula versions to satisfy tests in
* cca, rda, capscale: used to fail if called within other
functions. Now data always evaluated in the environment of
formula using new internal function ordiGetData.
* anova.cca: checks that the model has both residual and
constrained components or stops with understandable error message
(used to stop with incomprehensible error message).
* print.summary.cca, print.summary.decorana: have now arguments
'head' and 'tail' to print only a part of species and site
scores. Suggested by Gavin Simpson.
* metaMDS: checks now that the input data ('comm') is not a 'dist'
object (like many users have had).
* ordisurf: Does not depend on package 'akima' any longer, but
directly finds fitted values in a regular grid using
'predict.gam'. Added pnpoly.c to find which of these values are
within the convex hull defined by data. Results also look neater
with sparse data now. Added argument 'labcex' passed to 'contour'
for changing size of contour labels. Setting 'labcex = 0' will
suppress drawing labels (by setting drawlabels = FALSE in
* orditorp: handles now vector arguments of 'col', 'pcol', 'cex',
* rad.zipfbrot: less likely to overflow to NA coefficients during
* renyi: added a plot function, and documented together with
renyiaccum() instead of diversity().
* scores.default: Knows now about ade4 objects. Primarily looks
for scores scaled by eigenvalues both for sites and species.
* specaccum: Added new conditioned method of Colwell et
al. with estimated sd based on extrapolated richness (Roeland
* vegdist.c: More informative warnings with 'method' name (useful
* DESCRIPTION: listed 'require()d' packages in the "Suggests:"
field to satisfy more anal tests in R-DEVEL. Mention diversity
analysis in the "Description:".
Version 1.8-3 (Sept 29, 2006)
* Based on devel version 1.9-2.
* varespec.rda, varechem.rda: saved in binary form, because old
ascii form gave warning in R-2.4.0-rc.
* vegdist: added Chao index (of Jaccard type) that should take
into account missing pairs of species. Checks that Binomial index
is non-negative. Identical sites could have dissimilarity of
magnitude 1e-17 after some standardizations, but now values <1e-15
are zapped to zero.
* estimateR: uses now standard unbiased formulation of Chao.
* renyi: should work now (really!).
* metaMDS: with zero = "add", zeros now replaced with
min(dis[dis>0])/2 (used to be 1E-4) (metaMDSdist). Sets number of
tries also when this was not set previously (metaMDSiter)
Version 1.8-2 (June 13, 2006)
* version 1.8-1 failed test in Windows because of a wrong encoding
name. Explicit \enc added for non-ascii words. Kurt Hornik and
Uwe Ligges diagnosed this and led me to see the light.
* similar to devel version 1.7-97.
Version 1.8-1 (June 12, 2006)
* Based on devel version 1.7-96.
* Pierre Legendre joined the vegan team.
* beals: a new function for Beals smoothing.
* bioenv: added 'trace' argument.
* cca/rda/capscale: accept several 'Condition' elements in the
* capscale: capscale(y ~ ., data=...) or expansion of "." on the
rhs works now. Documentation recognizes now db-RDA as the real
* scores.cca, summary.cca etc: rewrite so that is cleaner and
easier to maintain. User visible changes are scaling by species
standard deviation (negative scaling) for 'rda', scaling=0
(no scaling) for all methods and slightly changed output and
improved user control in summary. These scalings actually were
documented in 1.6-10, although I dropped them just before the
release. predict.cca, predict.rda: work now with 'newdata' even
when not called with formula.
* anova.cca: new argument 'by' for tests of single terms or axes:
with by = "terms" performs individual test for constraints, and
with by = "axis" a separate sequential test for each axis. New
argument 'first' to analyse only the first axis instead of all
* intersetcor: new function for the interset correlation or the
(weighted) correlation between individual constraints (contrasts)
and invidual axes in cca/rda/capscale. (Not recommended.)
* decostand: does not automatically convert matrix to a
data.frame. NA handling more consistent now (thanks to Tyler Smith
for diagnosis). Adds attribute 'decostand' giving the "method".
* linestack: now really uses median as the midpoint with the odd
number of cases, and does not give superfluous warnings with three
or less items. New argument 'labels' to replace the default text
in plot. The old argument 'label' renamed to 'side'. However, the
function still works with the old syntax, but gives a warning if
the old argument 'label' is used for 'side'. Returns invisibly the
shifted positions of labels.
* metaMDS: 'postMDS' sets now attributes similarly when called
independently or within 'metaMDS'. 'metaMDS' forwards arguments
to 'postMDS' except 'halfchange'. Change of phrasing in
'print'. Added handling of zero dissimilarities into
'metaMDSdist': either "fail" or "add" 1E-4 into zeros.
* mrpp: new function for the multiresponse permutation procedure
(MRPP). Code by Henry Stevens (Miami Univ, Oxford, Ohio).
* ordiarrows: draws arrowhead only in the last segment. New
argument 'startmark' for marking the starting point of the arrow.
* ordisurf: new arguments 'main' for the title and 'nlevels' and
'levels' for the number of contour or their values.
* orditorp: arguments for text colour and text character expansion
changed to standard 'col' and 'cex' from previous 'tcol' and
* procrustes: 'summary' prints now rotation matrix, translation
and scale, and honours 'digits'.
* prc: new functions for Principal Response Curves (PRC) of van
den Brink and ter Braak (Envir. Toxicol. Chem, 18, 138-148; 1999).
This is a special rda() model with dedicated summary and plot
functions. New data set 'pyrifos' to demonstrate 'prc'.
* radfit: added brokenstick as a null model (rad.null), removed
rad.veil (as it was a bad idea originally), corrected minor bugs
in rad.preempt (which did not fail gracefully). Line colours
start from the point colour in plot.radfit.frame. 'print' uses
"g" format for coefficients and adds 'digits' argument. Added
'summary.radfit.frame' that simply prints each model.
* rankindex: uses now cluster:::daisy when 'grad' includes
* spantree: now a method function with 'plot', 'lines' and
'cophenetic' methods. 'lines' replaces 'ordispantree'. The plot
has a weird, new way of finding configuration for a spanning tree
from cophenetic distances (unpublished). Documented separately.
* specaccum: 'plot' honours now 'ylim'.
* specpool: Chao richness was wrongly defined, but now uses the
biased formula (error introduced in 1.6-5, correct earlier).
Failed with zero species or if there were no species that occurred
exactly one in the 'pool' (thanks to Emmanuel Castella, Geneve CH,
for the bug report).
* varpart: new functions for unbiased partitioning of variation by
two to four explanatory tables in RDA or linear regression. The
author of these functions is Pierre Legendre & co (Univ
Montreal). New data sets 'mite', 'mite.env' and 'mite.pcnm' to
demonstrate the functions.
* vegandocs: new function to display *all* pdf documentation and
ChangeLog. This really should be in base R -- this is a kluge to
fill the hole.
* vegemite: added argument to 'select' a subset of sites. Drops
missing species from the table. Prints number of species and
number of sites and the used cover scale at the end of the table.
Passes arguments (i.e., 'maxabund') to coverscale().
* coverscale: added argument 'maxabund' to 'scale = "log"'.
Returns the name of the cover scale as an attribute for vegemite()
* vegdist: now first checks input and then transforms (if
needed). Thanks to Tyler Smith,
* Internal changes: permuted.index acceptes NULL strata as an
alternative to missing strata. ordispantreee deprecated.
* Documentation: general cleanup in help files. New chapter on
t-values in cca/rda/capscale in vegan-FAQ. New pdf document on
partioning with varpart by Pierre Legendre & co. Non-latin
characters now use UTF-8 in documentation. R manual says that you
should not use non-latin characters in help files, but that was
written by Englishmen. However, this seems to cause distress to
some users of a US West Coast OS (Windows), but OK with mainstream
OS's (Linux, MacOS). .
Version 1.6-10 (September 26, 2005)
* Based on devel version 1.7-77. Checked with R 2.1.1 (stable)
and R 2.2.0 (alpha).
* rda: negative scalings explicitly ignored and treated as
corresponding positive values. Function summary.rda used to fail
with NA centroids.
* permutest.cca & anova.cca: permutation of 'cca' result now
re-weights environmental data properly with permuted community
weights (this breaks compliance with popular proprietary
software). New default method 'direct' that always permutes the
data instead of residuals. Now clearly faster basic routines, but
re-weighting in 'cca' is costly, and permutations may even be
slower than earlier in small data sets. The permutest.cca returns
more data: constrained and residual total inertia, degrees of
freedom in the input model, and .Random.seed used in iterations.
Thanks to Pierre Legendre for pushing me to make this faster.
* ordination plot functions: obey now xlim and ylim.
* ordination text and points functions: a new argument 'select'
that can be used to select a subset of items, and a new argument
'labels' for text used instead of the default row names.
* points.cca, text.cca: biplot arrows will be scaled automatically
to fit the current graph if 'arrow.mul' is not given. The new
behaviour is similar to the default in plot.cca and in
* orditorp: a new "ordination text or points" function to add text
or points to an existing plot: adds text if this can be done
without overwriting other text labels, and points otherwise.
* linestack: a new function to draw labelled one-dimensional
diagrams without overwriting the labels (a primitive one, and
could easily be improved: submissions are welcome).
* ordirgl, orgltext: adapted to changes in rgl package version
0.65. Workaround for older rgl packages, too.
* decostand: Added Hellinger transformation. Empty columns and
rows become now 0 instead of NaN in most methods, except when the
input data contains negative values. Warns on input with negative
entries or on output containing NaN. Has now argument
'range.global' for method 'range' based on the code supplied by
* plot.radfit: puts now legend "topright" in R >= 2.1.0 (which has
* read.cep: issues a warning if vegan was compiled with gfortran,
which has a bug that may corrupt the result. The bug concerns
multiline input with T format modifier, and it was corrected in
http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00126.html, but still
bugs most released versions of gcc.
* vegdist: new indices 'raup' and 'binomial'. Method 'raup'
implements probabilistic Raup-Crick index and is based on the code
submitted by Michael Bedward. Method 'binomial' implements
Millar's index, officially published as "Binomial deviance as a
dissimilarity measure" (the C code has been in vegan for about two
years, but now I tell about it and add the public interface).
Method 'mountford' will give NA for any comparison involving an
empty site. Warns about empty sites or negative entries with all
methods except 'euclidean' and 'manhattan'.
* Documentation: added documentation of the cca/rda/capscale
result object. Dontruns used more neatly.
Version 1.6-9 (April 22, 2005)
* Maintenance release: 1.6-8 failed in R 2.1.0 patched and R 2.2.0
devel (works in R 2.1.0 release) due to problems in
as.preston. Based on devel version 1.7-62.
* as.fisher, as.preston: used table() in a way that failed in R
* calibrate.cca: new function to predict or calibrate or
bioindicate the values of environmental constraints from
community composition (ordination).
* decostand: new argument na.rm (defaults FALSE) for ignoring
missing values in row, column or matrix standardizations.
* vegdist: new argument na.rm (defaults FALSE) for pairwise
deletion of missing vaues in dissimilarity calculation.
Version 1.6-8 (April 18, 2005)
* Based on devel version 1.7-59. Adapted to R 2.1.0 beta.
* DESCRIPTION: gives due credit to Roeland Kindt and Bob O'Hara as
* documentation: updates in capscale, vegdist. vegan-FAQ adapted
to changes in Sweave in R 2.1.0.
* several methods assumed that input is count data, but silently
accepted floating point numbers and gave wrong results. Now they
stop with error with non-integer input: fisherfit, prestonfit,
prestondistr, rarefy, fisher.alpha, estimateR.
* bioenv: uses now 'cor' instead of 'cor.test', and does not give
so many superfluous warnings and is marginally faster. Changed
printed output, so that gives 'call' instead of names of community
and environmental data, since bioenv.formula could not handle
* capscale: has now argument 'add' to use an additive constant to
all dissimilarities so that all computed eigenvalues are
non-negative. This is an argument of underlying 'cmdscale'
function, which implements the "Correction method 2" of Legendre &
Legendre (1998), p. 434.
* decorana: checks now that there are no negative data entries.
* dune: cleaner site names.
* envfit: 'plot' now automatically scales arrows similarly as
'plot.cca' if 'arrow.mul' is not specified and arrows are added to
an old plot. Has now a 'scores' function.
* goodness.cca, predict.cca: documented separately.
* goodness.metaMDS: new function to assess pointwise goodness of
fit in metaMDS or isoMDS.
* humpfit: user can now give starting values of parameters.
'summary.humpfit' returns 'cov.unscaled' so that users can apply
'ellipse' function of 'ellipse' package to display approximate
confidence ellipses for pairs of parameters (with Normal
* make.cepnames: No longer duplicates one component names, but
'abbreviate's them to eight characters.
* metaMDS: Split to independent metaunits 'metaMDSdist' and
'metaMDSiter'. New function 'metaMDSredist' tries to reconstruct
dissimilarity matrices and transformations. 'postMDS' skips
halfchange scaling with too few points (with a warning) instead of
stopping with an error. Prints now info about 'postMDS'
operations. New 'scores' function. Improved 'plot' function with
'display' argument and labelling of axes. Argument 'shrink' to
undo expansion of species scores in plot or scores functions.
Workaround for a future bug in 'isoMDS' which drops names of
points in R 2.1.0. Updates number of 'tries' with
* ordiplot: has now 'display' argument, so that only species or
sites can be plotted.
* ordiplot3d: a new function for 3D static ordination diagrams.
* ordirgl: new function for dynamic 3D graphics of ordination
results. With support functions orglpoints, orgltext,
orglsegments and orglspider to add graphical items to dynamic
plots. Needs 'rgl' package.
* predict.cca, predict.rda: type = "wa" with 'newdata' works now
even when some species were removed from the original fit because
they were all-zero (missing). Default now to 'model = "CA"' in
unconstrained analysis without "CCA" component.
* predict.decorana: a new function for 'decorana' results. Similar
to 'predict.cca' (but refuses to give impossible results).
* procrustes: obeys now 'choices' even when input is a matrix.
Plots now projections of rotated axes. New argument 'scores' so
that can handle other than "site" scores.
* protest: passes now arguments to 'scores' so that now can handle
other than "site" scores on more than two dimensions.
* rda: handles now species with constant values (typically
missing or all zeros).
* spenvcor: new function to find the "species -- environment
correlation" in contrained ordination (cca, rda, capscale).
* stressplot: a new function to plot Shepard diagram for 'metaMDS'
* summary.cca/summary.rda: print now call.
* vegemite: can now 'use' 'dendrogram' objects.
Version 1.6-7 (Jan 24, 2005)
* Based on devel version 1.7-42.
* plot.envfit did not plot vectors. Thanks to Roeland Kindt and
Ron E. VanNimwegen for bug reports and fixes.
* ordisurf obeys now keyword 'display', and '...' will transfer
arguments to 'scores'.
* ordisegments: obeys now keyword 'display'.
* ordigrid: works now.
* ordihull, ordiarrows, ordisegments, ordispider, ordiellipse:
have a new keyword 'show.groups' to show only specified groups.
With the help of this argument it is possible to use different
colours and linetypes for each group. Further, it makes possible
to plot results of logical comparisons (such as A1 > 4) by setting
show.groups = T. Two user requests.
* new diagnostic and helper functions for 'cca', 'rda' and
'capscale': 'goodness' to estimate the proportion of inertia
accounted for or residuals for sites or species; 'inertcomp' to
decompose species and site inertia for conditioned, contrained and
residual componets; 'vif.cca' to estimate the variance inflation
factors for constraints and conditions; 'fitted' and 'residuals'
to approximate data by ordination scores; 'predict' to approximate
data or find site or species scores, possibly with 'newdata';
'coef' to find the regression coefficients. 'alias.cca' is now
similar to 'alias.lm' (simplified version of the latter).
Version 1.6-6 (Jan 7, 2005)
* Based on version 1.7-34, but without still experimental
functions predict, fitted, vif & goodness for cca and rda
* mantel: implemented partial mantel test (function
'mantel.partial'). Both 'mantel' and 'mantel.partial' should be
marginally faster and not give so many superfluous warnings.
* plot.envfit: should be more reliable now. A new keyword 'at' to
position the bunch of arrows in other places than the origin.
Thanks to Roeland Kindt for fixes.
* rankindex: Default correlation now "spearman" since the older
default ("kendall") was far too slow in large data sets. Should
not give so many superfluous warnings.
* summary.rda: Site scores were wrong with 'scaling = 3'.
Influences 'plot' and 'scores' commands for 'rda' and 'capscale'
results with 'scaling = 3'.
* vegdist: Issues a warning if 'method = "morisita"' is used with
Version 1.6-5 (Oct 12, 2004)
* Based on version 1.7-27. Checked with R-1.9.1 (Linux, MacOS X)
and R-2.0.0 (Linux, patched version in Windows XP). Passed other
tests, but some examples in 'humpfit' failed in Windows XP, and
are not run on that platfrom. General cleanup in documentation.
Does not 'require(mva)' any longer.
* anosim: corrected the equation in docs (function was
correct). Thanks to Yong Cao for notifying this.
* bioenv.formula: finds now variables from attach'ed data.frames
and 'data' need not be specified.
* capscale & deviance.rda: capscale was modified so that its
result could be handled with step (added a terms component).
Function deviance.capscale was deleted so that deviance.rda will
be used. A literature reference to AIC in CCA/RDA was added to the
* cca/rda/capscale: Small eigenvalues are made to zero and rank
reduced accordingly. Most often influences 'capscale'.
* cca/rda/capscale: Now alias constraints that are collinear with
other constraints or conditions in partial analysis. New function
'alias.cca' to print aliased contrasts. NB this does not influence
the proper ordination results, but only to the selection of biplot
scores and centroids displayed. 'summary' no longer gives a
* decorana: removes empty species with a warning instead of
stopping with error. Still error with empty sites. The behaviour
is similar to 'cca'.
* envfit (vectorfit, factorfit): Has now a formula interface.
Bottlenecks in permutation changed now into C functions. Much
faster, in particular 'factorfit' which was 25 times faster in my
tests. plot.envfit could drop names (dimensions). Now honours
'scaling' argument in cca/rda/capscale (used to 'scaling = 2'
* envfit, ordisurf: have now weights parameter 'w'. Weights are
used for the results of 'cca' and 'decorana' as default, or they
can be supplied by the user. In this way, envfit gives equal
results to biplot scores and centroids in 'cca', and ordisurf is
consistent with envfit. Both can now access 'lc' scores of 'cca'
* estimateR: Abundance-based estimators of extrapolated richness,
written by Bob O'Hara <firstname.lastname@example.org>.
* humpfit: Asesses now the dispersion parameter in non-Poisson
models (summary.humpfit). Added a profile method that inherits
from profile.glm, so that you can use plot.profile.glm,
pairs.profile.glm and confint.profile.glm of MASS for displaying
profile and finding the confidence intervals from the profile
* fisherfit: prints now standard error of the estimate. Added
'profile' and 'confint' methods.
* metaMDS: A new function to collect all Peter Minchin's
recommendations to run nonmetric multidimensional scaling: (1)
adequate data transformation with Wisconsin double and sqrt if
needed, (2) use of adequate dissimilarity measure, (3) possible
stepacross if needed (this Minchin didn't have), (4) run NMDS with
several random starts and stop after finding two similar
solutions, (5) scale results with postMDS, and (6) add species
scores with wascores. Function has print and plot methods.
Function scores.default changed to understand metaMDS.
* specpool: Chao is now based on unbiased equation. Standard
errors now estimated for Chao, 1st-order jackknife and bootstrap
richness, but SE of 2nd-order jackknife still missing.
* vegdist: an option for binary indices, since some users believed
these are not in vegan, although you can get them with
Version 1.6-4 (June 10, 2004)
* Based on 1.7-12.
* anova.cca: Changed defaults to beta=0.01 and perm.max=10000.
* bioenv: A new function implementing the BIO-ENV procedure of
Clarke & Ainsworth (Mar. Ecol. Prog. Ser. 92, 205-219; 1993). The
function finds the subset of scaled environmental variables with
maximum (rank) correlation with community data.
* cca: added ter Braak scaling, a.k.a. Hill scaling, with
negative values of `scaling'. This scaling should approximate
Hill's non-linear rescaling of `decorana', but it the scaling is
linear and does not rescale. The scaling is very simple: the
results from corresponding positive scaling are multipiled with
* plot.cca: Better heuristics used for the length of biplot
arrows, and they are now longer in general. Axes are drawn for
biplot arrows also with `text.cca' and `points.cca' functions.
* deviance.cca and extractAIC.cca: auxilliary functions which
allow automatic model building with `step' or `stepAIC' (MASS)
functions in cca and rda. Unfortunately, cca and rda do not have
deviance or AIC, and these functions are certainly wrong and
dangerous. However, with continuous candidate variables they
select the variables in the same order as Canoco.
* humpfit: A new family of functions to fit the no-interaction
model (Oksanen, J., J. Ecol. 84, 293-295; 1996) to species
richness -- biomass data.
* vegdist: corrected a bug in Gower index -- range standardization
was made to sites, but it should be done to species. Thanks to
Brett Melbourne <email@example.com> for the bug report.
Version 1.6-3 (Mar 22, 2004)
* Still based on 1.7-3, but ported some changes from version
1.7-7 (envfit, procrustes). This version was produced to prepare
for incompatible changes in coming R-1.9.0.
* vegan-FAQ: Does not show the vegan and R versions the
documentations were built, because of stupid incompatible change
in R-1.9.0 of the future. package.description() function was
unnecessarily replaced with packageDescription, and to accomodate
recent, present and future versions of R seemed to be too much
* plot.envfit: Added option 'p.max' to display only environmental
variables assessed to have P values less or equal to the given
* plot.procrustes: added option kind = 0 to draw only axes and
functions points.procrustes and lines.procrustes to add points and
line segments or arrows to the plot.
Version 1.6-2: Based on devel version 1.7-3.
* renyi: should work now (again?).
* prestondistr: The truncation level was badly chosen. Now default
level is set to -1, or log2(-1) = 0.5 which might be the left
limit of the first octave. This is now a parameter, leaving the
choice as the responsibility of the user.
* cca.default: Removes missing species and issues a warning
instead of stopping with error.
Version 1.6-1: Based on devel version 1.7-1.
* Minor maintanenance release to satisfy tests in R-devel. There
was a buglet in ordisegments that caused a warning. I had
introduced a trick to handle printCoefmat before it was invented
to replace print.coefmat, but this failed in R-devel.
* Vignettes included in this release. These were only in devel
versions of my web pages previously.
Version 1.6-0 (Fisher)
* Based on devel version 1.5-58. Passes checks with R-1.8.0 and
R-1.7.0 and compiles into a Windows binary. Many functions were
contributed by Roeland Kindt (Nairobi, Kenya).
* BCI: A new data set on tree counts on 1-ha plots in the Barro
Colorado Island. Thanks to Roeland Kindt and Richard S. Condit.
* capscale: A new function for [partial] constrained analysis of
principal coordinates (CAP).
* cca, rda: Can now handle cases where the number of constraints
is higher than the number of species.
* cca, decorana: Find now if data have empty rows or columns.
* decostand: Added Chi-square transformation.
* distconnected: A new function to find if vegetation data are
disconnected below given threshold dissimilarity level. Utility
function no.shared gives a logical dissimilarity matrix with
values TRUE for cases with no shared species.
* fisher.alpha: Should work with large sample sizes now (bug
report thanks to Ariel Bergamini).
* fisherfit, prestonfit, prestondistr: New functions to fit
Fisher's logarithmic series and Preston's log-normal model.
* make.cepnames: New utility function to change Latin names into
4+4 character CEP names.
* ordicluster, ordispantree: New functions in the ordihull family
to overlay a cluster dendrogram or a spanning tree onto an
ordination. Weights are now really used with cca and decorana
* radfit: New function to fit Ranked Abundance Dominance or
Dominance/ Diversity models with maximum likelihood: Pre-emption,
log-normal, veiled log-normal, Zipf and Zipf--Mandelbrot models.
* rankindex: Can now use stepacross and new dissimilarity indices
* rarefy: Can now optionally find SE of rarefied richness.
* renyi: A new function to find Rnyi diversities or Hill numbers
with any scale (thanks to Roeland Kindt).
* scores.ordiplot: should be more robust now.
* spantree: A new function to find a minimum spanning tree using
only dissimilarities below a threshold or disregarding NA
* specaccum: A new function for species accumulation
curves. Thanks to Roeland Kindt.
* specnumber: A very simple utility function to find species
* specpool: New function for extrapolated species richness in a
species pool, or for estimating the number of unseen species.
* stepacross: New function for estimation of dissimilarities
between sites that have no shared species. Implements both
flexible shortest paths and their approximation known as extended
* vegdist: New dissimilarity indices Jaccard (finally), Morisita,
Horn--Morisita and Mountford.
* Based on devel version 1.5-35.
* decorana: Finds now eigenvalues from the final solution as ratio
of biased weighted variances of site and species scores. The
values returned by the legacy Fortran function are called
* downweight: passes the downweighting fraction as an attribute,
and decorana catches and prints the fraction.
* wascores: Uses now biased variances for expading WAs and returns
the shrinkage factors as an attribute "shrinkage". Shrinkage
factors are equal to eigenvalues in CCA when only this one
variable is used as constraint. Function `eigengrad' returns only
* rda summary/plot bugfix: Failed with non-default scaling (1 or
3) when there were no factor constraints. Corrected a statement
giving a harmless warning in plot.cca.
* ordiplot knows now option type = "text". New simpleminded
functions points.ordiplot and text.ordiplot for adding items in an
* ordiarrows, ordisegments could drop dimensions (when will I
learn!) and fail if only one arrow or one segment should be
drawn. One argument was missing in a `gl' command in `ordigrid'.
Version 1.4-3 (Luova)
* Based on devel version 1.5-30
* `cca' and `rda' use canonical expansion of the formula and
return the `terms' component. Functions like `terms', `formula'
and `update' magically started to work with cca and rda (and eight
lines of code would allow `step' and `stepAIC' to work magically
in model building... but it's so much magic that I don't trust
it). Some of the allowed things are now `mod <- cca(dune ~ . -
(all variables but `Use' in dune.env), and `update(mod, . ~ . -
Manure)' (remove `Manure' from the previous).
* `cca' and `rda' find centroids of factor levels with factor
constraints (only with formula interface). These can be accessed
with `display="cn"' in `scores', `summary' and `plot'. If
`display="cn"' is requested in `plot', biplot arrows are still
drawn unless there is a class centroid with the same name:
continuous variables are still shown as arrows and ordered factors
both as arrows as centroids.
* Enhanced user control of many ordination plots. Some accept more
graphical parameters (`ordiplot', `plot.procrustes'). New
functions `points.cca' and `text.cca' to add these items into
CCA/RDA plots (documented separately).
* `identify.ordiplot' knows more alternatives, among them
`plot.procrustes'. This was helped with new, very generic
* New functions to add graphical items in ordination diagrams:
`ordihull' draws convex hulls for groups, `ordiarrows' draws
arrows, `ordisegments' segments, `ordigrid' combines points in to
a grid, `ordispider' combines points to their (weighted) centroids
or WA scores to the corresponding LC score in cca/rda,
`ordiellipse' draws dispersion or confidence ellipses for
points. All these take a groups argument for selecting subsets of
points. `ordispider' obsoletes `spider.cca' (introduced in the
* Implemented simple ``deshrinking'' of weighted averages in
* A new diversity function `fisher.alpha' that estimates the
diversity as the alpha parameter of Fisher's log-series. Thanks to
Bob O'Hara <firstname.lastname@example.org> for the main code.
* `summary.decorana' now in canonical form so that printing is
done by `print.summary.decorana' and user can intercept and catch
the result. Several users had been surprised of the earlier
non-canonical behaviour. `summary' knows again the prior weights
used in downweighting of rare species (these evaporated in 1.4-0).
* rda summary/scores/plot bugfix: Scaling of site scores was wrong
with scaling alternatives 1 and 3.
* envfit (vectorfit, factorfit) bug fixes: Can now handle single
vectors (labelling, permutation). Recognize now `choices' so that
the user can select ordination axes.
* Checked with released R-1.7.0.
Based on devel version 1.5-18
* New functions and data sets:
* dune: A new data set -- the classic Dune Meadow data with the
* ordiplot, identify.ordiplot: New functions to plot "any"
ordination result and identify plotted points. Intended to provide
similar functionality as `plot', `plotid' and `specid' functions
in `labdsv' without name clashes. Functions `plot.cca' and
`plot.decorana' return (invisibly) `ordiplot' objects as well, and
these can be used by `identify' to label species and sites.
* rda: Redundancy Analysis, or optionally, yet another PCA. This
is a spin-off from cca(), and it is documented together with
cca. The only new functions are rda, rda.default, rda.formula and
summary.rda. Otherwise rda uses cca methods which were changed to
be aware of rda.
* read.cep: A function to read Cornell Ecology Package or CEP
formatted files into R. This has been in devel versions since
1.1-1, but it never made to the releases, since this worked only
in Linux, but crashed R in Windows. It seemed to work in R-1.6.1
with gcc 3.2
(MinGW) in Windows, so it is included. Treat with caution.
* spider.cca: A tiny function that joins each WA score to the
corresponding LC score in cca/rda plots.
* Checked with R-1.7.0 (unstable devel version, snapshot
2003-02-05) and corrected as needed.
* Added symmetric scaling (=3) to alternitves in cca and rda.
* Minor improvements and bug fixes in vegemite.
Version 1.4-1 (Logan)
Based on devel version 1.5-10.
* Permutation tests added to envfit (vectorfit, factorfit) and
procrustes (called protest).
* All permutation tests take now argument strata: If given,
permutations made only within strats. Concerns anosim, anova.cca
(permutest.cca), mantel, envfit (factorfit, envfit) and protest
* fitted.procrustes(): A new function.
* rarefy(): A new function for rarefaction species richness.
* cca.default(): Handles now NULL matrices X and Z: skips them.
* cca.formula(): Knows now cca(X ~ 1) and permforms unconstrained
CA, and cca(X ~ ., data) and perfors CCA using all variables in
`data' as constraints. Has now na.action=na.fail so that cca
crashes more informatively (used to crash mysteriously). A more
graceful na.action may come. Assignment "=" corrected to the true
blue "<-" (used to crash in old R).
* envfit (factorfit, vectorfit): Use `scores' now. Various
bugfixes and should work now with single factors or vectors.
* plot.envfit(): Options `choices' works now like documented.
* ordisurf(): A new name to surf() to avoid name clash with
* procrustes(): added option `symmetric' for symmetric rotation
and goodness of fit statistic.
* plot.procrustes(): Keyword `axes' changed to `choices' to be
consistent with other functions.
* vegemite(): A new name to vegetab. The name was chosen because
the output is so compact (and to avoid confusion with function
vegtab in labdsv). Function checks now that the cover codes fit in
one column and splits the output if it does not fit into used page
Based on devel version 1.3-19.
* `anosim': Analysis of Similarities.
* `cca': [Partial] [Constrained] Correspondence Analysis. This is
an alternative to Dray's `CAIV' (package `CoCoAn'). Differences
include formula interface, WA scores in addition to LC scores,
partial CCA, residual CA after constraints, algorithm based on svd
(and much faster), more standard support functions (`plot',
* `anova.cca' and `permutest.cca': Permutation tests for `cca'.
* `envfit': A new wrapper function which calls either `vectorfit'
or new `factorfit' function, and `plot.envfit' for easier display
of results in graphs.
* `mantel': Mantel test for two
* `scores': A generic function to extract scores from `cca',
`decorana' or even from some common ordination methods in R.
* `surf': Surface fitting for ordination, intended as an
alternative to `vectorfit'.
* `vegetab': Prints a compact, ordered vegetation table, together
with `coverscale' to transform data into compact format.
* `downweight': directly callable instead of being embedded in
`decorana'. Now it can be used with other downweighting thresholds
or with other CA's than `decorana', e.g., `cca', `ca', `CAIV'.
* `plot.decorana': new keyword `type', removed keyword `tol'.
* `vectorfit': centres now ordination before fitting, so it will
work with other ordinations than MDS.
* Mainly user invisible changes in `plot.decorana',
`plot.procrustes', `postMDS', `print.summary.procrustes',
`vectorfit', `procrustes'. One of the main changes was that
`eqscplot' of `MASS' library was replaced with `plot(..., asp=1)'
of standard R (but this is not S-plus compliant).
* Edited help files. More examples run from help files.
* Tried to improve LabDSV compliance, see
* Checked with R-1.5.0. However, `log' in diversity not changed
into `logb' (yet), although base is specified, because `logb'
won't work in R pre-1.5.0.
* Checked with R-1.4-0 (frozen snapshot) tools: Documentation and
method consistency corrected (summary.decorana.R, decorana.Rd),
and file permissions changed.
* decorana.Rd: removed dependence on package `multiv' in the
example, since it is not a `recommended package' -- replaced with
Based on experimental version 1.1-6. Doesn't include read.cep() of the
experimental version, because the function is certainly unportable to
all platforms (works on Red Hat Linux 7.1, but perhaps nowhere else).
Major new feature:
* decorana(): R port of Mark Hill's DECORANA for Detrended
correspondence analysis, with methods print(), summary() and
* postMDS(): finds isoMDS scores and doesn't destroy list
* vectorfit: finds isoMDS scores and decorana row scores (which
are uncentred, though).
* Proof reading in documentation.
*`plot.procrustes': selection of axes plotted, improved scaling in
graphics, control of axis labels.
* `postMDS': added plot to demonstrate half-change scaling.
* `procrustes': target can now have lower dimensionality than
* Fixed bugs in documentation.
* `plot.procrustes': Fixed passing `...' to graphics functions.
* The first public version.