crossval.Rd
Performs a leave-one-out cross-validation of a predictive Co-Correspondence Analysis model.
crossval(y, x, n.axes = min(dim(x), dim(y)) - 1, centre = TRUE, verbose = TRUE) <!-- %\method{print}{crossval}(x, digits = min(3, getOption("digits") - 3), \ldots) --> # S3 method for crossval summary(object, axes = c(1:min(6, object$n.axes)), ...)
y | the response species matrix. |
---|---|
x | the predictor species matrix. |
n.axes | the number of axes to calculate the leave-one-out cross-validation for. Default is to perform the CV for all extractable axes. |
centre | centre |
verbose | if |
object | an object of class |
axes | the number of axes to summarise results for. |
... | further arguments to |
Performs a leave-one-out cross-validation of a predictive Co-Correspondence Analysis model. It can be slow depending on the number of columns in the matrices, and of course the number of sites.
Returns a large list with the following components:
the dimensions of the input matrices x
and
y
respectively.
the \(press_0\) statistic.
the number of axes tested.
the cross-validatory fit.
list with components Yblock
and
Xblock
containing the variances in the response and the
predictor respectively, explained by each fitted PLS
axis.
list with components Yblock
and Xblock
containing the total variance in the response and the predictor
respectively.
list with components namY
and namX
containing the names of the response and the predictor(s)
respectively.
the R call used.
Gavin L. Simpson, based on Matlab code by C.J.F. ter Braak and A.P. Schaffers.
This function is not a bit out-of-date compared to some of the
other functions. It should have a formular interface like
coca
or work on the results from coca
,
although that will have to be altered to store a copy of the data?
The model fitting function coca
od <- options(digits = 4) ## load the data sets data(beetles) data(plants) ## log transform the bettle data beetles <- log(beetles + 1) ## predictive CoCA using SIMPLS and formula interface bp.pred <- coca(beetles ~ ., data = plants) #> #> Removed some species that contained no data in: beetles, plants ## should retain only the useful PLS components for a ## parsimonious model ## Leave-one-out crossvalidation - this takes a while if (FALSE) { crossval(beetles, plants) } ## so 2 axes are sufficient options(od)