Version 0.14-0 is less of a major update than that provided by version 0.12-0 and sees a continuation of the changes to dependencies to have packaes in Imports rather than Depends.
The main development of analogue now takes place on github and bugs and feature requests should be posted there. The Travis continuous integration system is used to automatically check the package as new code is checked in.
There are several new functions and methods and a few bug fixes, the details of which are given below.
The main user-visible change over 0.12-0 is the deprecation
plot3d.prcurve method. The functionality is now in
plot3d.prcurve is deprecated
and if called needs to use the full function name. This change is
to make analogue easier to install on MacOS X as now
rgl is not needed to install analogue. If you want to plot
the principal curve in an interactive 3d view, you'll need to get
rgl installed first.
n2 is a new utility function to calculate Hill's N2
for sites and species.
optima can now compute bootstrap WA optima and
performance has a new method for objects of class
timetrack had several improvements including a new
precict method, which allows further points to be added to
an existing timetrack, a
points method to allow the
addition of data to an existing timetrack plot, and the
plot method can create a blank plotting region allowing
to predict locations of new samples on the principal curve and
extract the locations of the training samples respectively.
evenSample is a utility function to look at the
evenness of the distribution of samples along a gradient.
Location from the North American Modern Pollen Database
have been updated to version 1.7.3 of the data base.
The calculation of AUC in
roc wasn't working
correctly in some circumstances with just a couple of groups.
crossval.pcr had a number of bugs in the k-fold CV
routine which were leading to errors and the function not working.
The progress bar was not being updated correctly either.
predict.pcr was setting
ncomp incorrectly if
not supplied by the user.
ChiSquare wasn't returning the transformation
parameters required to transform leave-out data during
crossvalidation or new samples for which predictions were
plot3d.prcurve was not using the
ordination components of the returned object. Note this
function is now deprecated; see earlier note above.
predict.pcr was incorrectly calling the internal
fitPCR with the
plot3d.prcurve is deprecated. Functionality is in new
Version 0.12-0 represents a major update of analogue, including the addition of new functionality and long-required improvements to the computation of dissimilarity matrices which now uses faster C code.
Several of the dependencies are now only imported into the
namespace for analogue. As a result, existing code that did
not already load these packages will need to be updated to load
them via a call to
Highlights of the release are listed below. For a full record of changes made during the development leading up to this release see the ChangeLog in the package sources.
Dissimilarities are now computed using fast C code in
distance(). The new functions are tested against
the old code (now available as function
ensure the new code performs correctly.
Fitting principal curves to palaeo data and working with the fitted objects is now much easier.
prcurve() now returns each of the fitted smooth models as
part of component
smooths, allowing further examination of
the the individual fits.
There are now methods for
allow greater flexibility in producing plots of the fitted
principal curve. A
scores() method to extract ordination
scores for prcinipal curves is also available. A
method is also available to return various types of residuals for
the principal curve.
smoothGAM() is a new plugin smoother function for use with
prcurve(), which allows GAMs to be used as smoothers fitted
to individual variables. It is significantly slower than
smoothSpline(), but can handle non-Gaussian responses. The
underlying models are fitted using
gam() from mgcv.
As principal curves are smooth curves in high-dimensions it makes
sense to view them in 3D. analogue has a function for that:
plot3d.prcurve() method uses the underlying
functionality of the rgl package to provide an interactive
3D representation of the data and the fitted principal curve.
prcurve() also returns the fitted ordination and the
original data, making it much easier to predict where passive
samples should lay and simpler to plot the curve.
New function (and S3 generic),
species responses along gradients. Currently the only supplied
method is for the results of
prcurve() fits, where the
function returns the fitted response curves along the principal
plot() method is also available.
logitreg() can now fit the logistic regression via
Firth's bias reduction method. This helps in cases where there is
complete or quasi-complete separation, and for cases where there
are far more no-analogues than analogues.
This release sees much improved functionality for fitting
principal component regression calibration models where the data
are subject to an "ecologically meaningful" transformation (such
as the Hellinger transformation). Models fitted with
can be cross-validated using the new
crossval() method, and
predictions from the fitted model can be computed using the
predict() method. Both ensure that the transformation is
applied to the test or new data samples in the appropriate manner.
rankDC() to compute the rank correlation
between gradient distances (e.g. environmental variables) and
distances in species composition. Has both base and Lattice
graphics plot methods (the latter via
Stratiplot() gains two new arguments:
labelRot, which allows control of the placement and
rotation of variable labels on the panels of the plot when not
using the strip.
plot() method for
timetrack() now allows
the plotting of linear combination or weighted average site
fitted() method for
timetrack() now has
which, replacing the original
There is a new
scores() method for objects eturned by
analog() gains a method allowing it to work directly
on objects of class
"distance", as returned by
distance(). This avoids recomputing the dissimilarity
matrix if a suitable one is already available.
chooseTaxa() no longer drops empty dimensions if the
conditions supplied result in a single species being
returned. Reported by Michael Burstert.
A warning about presence of
na.rm = TRUE
was supplied is also fixed.
formula method of
timetrack() was not
well-implemented for various reasons, and could result in the
species data not being transformed and other mistakes.
The new code takes a one-sided formula describing the constraints
for the underlying ordination, and variables in this formula will
be searched for in the data frame supplied as argument
predict.wa() would sometimes produce a 1-column
matrix during the deshrinking step, which would result in an
error. This empty dimension is now dropped so that a vector is
always returned from the deshrinking function.