Fixed issues with single component models in loadingplot().
Added fac2seg() to create cross-validation segments from a factor.
Fixed issues with single component, multiple respons models in summary.mvr(), loadingplot() and scoreplot().
Added _PACKAGE to conform to changed roxygen2.
Added as.data.frame.mvrVal() to convert output from mvrVal to tall data.frame format.
Added vcov() for computing variance-covariance matrices for PCR.
Converted documentation from .Rd to roxygen2.
Added support for straified cross-validation segments through stratify argument.
Small code cleanups and standardization of white space, indentation, etc.
Fixes in test suite for MKL.
mvr() did not send the "center" argument to mvrCv(), resulting in wrong cross-validation results with 'center = FALSE'.
Added temporary workaround in package tests for changes in RNG.
Now supports turning off the default centering of predictor and response matrices, through a new argument ‘center’ to mvr() etal. Suggested and implemented by Paul Hiemstra.
Added argument ‘maxit’ to oscorespls.fit(), to avoid a possible infinite loop for some near-orthoginal predictor matrices. Suggested by Martin Binder.
Added a test suite.
Clarification of selectNcomp() documentation.
Added selectNcom() to automatically select the optimal number of components, optionally plotting the selection.
Added argument "ask" to the plot functions that can generate multi-page plots, mimicking plot.lm().
Added description of selectNcomp() in the vignette.
Cross-validation can now keep all replicates in the same segment, through a new argument ‘nrep’ to cvsegments().
legend did not work with plot types "b" or "p" for validation plots.
Changes to comply with cran rules for imports, suggests and description
Added a vignette.
Added a NEWS.Rd file that can be viewed with the news() function.
Added a mechanism for running cross-validations in parallel using the facilities of the 'parallel' package.
In order to comply with current CRAN submission policies, pls.options() no longer stores the modified option list in the global environment. This has the effect that the options will have to be set every time R is started, even if the work space was saved and loaded.
'drop=FALSE' was missing a couple of places.
Calling pls::plsr, pls::pcr or pls::cppls would fail if the package was not attached.
New analysis method CPPLS implmemented
The wide kernel PLS method would fail with 1 component
predict() would fail if newdata was a matrix without coloumn names. Discovered by Egon Willighagen.
coefplot() can now plot whiskers at +/-1 SE.
Defaults for lty, pch and col in coefplot() when separate = TRUE has been changed.
The PRESS0 component returned by crossval() could be missing names (typically for uni-response models).
scores.default and loadings.default would set the class of the scores or components even if they were a list.
Small bugfixes in the call component of wrappers pcr() and plsr().
The package now has a name space.
DESCRIPTION now has LazyLoad, LazyData and ZipData directives.
predplotXy() now has arguments "labels" and "type".
R2 is now generic.
Jackknife variance estimation of regression coefficients are now available. (Note that the actual implementation is experimental, and could change in the future.)
The ‘wide kernel’ PLS algorithm has been implemented. It is faster than the other algorithms for very wide data.
The plot functions for coefficients, predictions and validation results (R2, (R)MSEP) have gained an argument ‘main’ to set the main title of the plot.
mvr() and mvrCv() now check for near zero standard deviation when autoscaling (‘scale = TRUE’)
plots that go over several pages now only set 'par(ask = TRUE)' if the plot device is interactive (suggested by Kevin Wright).
The definition of R^2 has been changed to 1 - SSE/SST for all estimators, so R2() will give different results than before for test sets and cross-validation.
The handling of NAs in prediction, R2, (R)MSEP and cross-validation has been improved (and several bugs fixed).
coefplot(), predplot.mvr() and validationplot(): xlab/ylab/main were added too early, so they disappeared on the last plot when nCols == nRows == 1.
loadingplot.default() didn't check for NULL rownames().
The (R)MSEP/R^2 calculations have been reorganised.
A couple of functions have been given the keyword "internal", and so are hidden from the index.
Fixed 1-component bugs in oscorespls.fit() and svdpc.fit()
Fix to recognise negative numbers as numeric variable names in loadingplot and coefplot
Removed non-ASCII characters from comments in R files (these gave warnings/errors when checking on Macosx)
There is now an options mechanism for selecting default fit algorithms. See ?pls.options.
loadingplot() and coefplot() now try to be more intelligent when plotting x axis labels.
The handling of factors in X has been improved, by changing the way the intercept is removed from the model matrix.
A new data set 'gasoline' has been included.
All PLSR and PCR algorithms, as well as mvrCv(), have been optimised. Depending on the algorithm used, the size of the matrices, and the number of components used, one can expect from 5% to 65% reduction in computation time.
Scaling of scores and loadings of kernel PLSR and svd PCR algorithm has changed. They are now scaled using the ‘classic’ scaling found in oscorespls.
The arguments ‘ncomp’ now always means "number of components", and ‘comps’ always means "component number". The argument ‘cumulative’ has been removed.
cvsegments() now gives an error if k > n.
The 'NIR' and 'sensory' data sets have been renamed to 'yarn' and 'oliveoil'.
Fixed bugs in MSEP.mvr and R2 that gave 'NA's and errors with 'na.exclude'.
Numerous small fixes in the documentation.
New utility function delete.intercept().
Standardised variable names in several fit functions.
It is now possible to select the radii of the circles in corrplot
Fixed bug in kernelpls.fit() that resulted in incorrect results when fitting mulitresponse models with fewer responses than predictors
The default convergence tolerance limit (when fitting multiresponse models) in oscorespls.fit() has been changed
Changed default radii in corrplot()
kernelpls.fit() now returns loading.weights
crossval() now checks whether the model was fit with a ‘data’ argument
Line plot parameter arguments have been added to predplotXy(), so one can control the properties of the target line in predplot().
The ‘mvr’ method for predict() now handles missing data like the ‘lm’ method does (the default is to predict ‘NA’).
fitted() and residuals() now return NA for observations with missing values, if na.action is na.exclude.
‘ncomp’ is now reduced when it is too large for the requested cross-validation.
The (optional) plot parametres ‘cex’ and ‘font’ were incorrectly matched with ‘cex.main’ and ‘font.main’ in predplot().
The ‘mvr’ method for predict() now checks the number of coloumns of ‘newdata’ when it is a matrix.
MSEP() and RMSEP() are now generic, with methods for ‘mvr’ objects.
loadingplot() is now generic, with a default method that handles matrices and objects whose loadings() method return a matrix.
A new function loadings(). It is generic, with a default method that handles ‘prcomp’ objects and anything with a ‘loadings’ component.
scoreplot() is now generic, with a default method that handles matrices and objects whose scores() method return a matrix.
The ‘prcomp’ method for scores() has been removed. The default method now handles ‘prcomp’ objects as an exception. scores() now also attaches the explained variances (if available) as the attribute ‘explvar’.
compnames() now handles matrices as well as objects with score matrices
explvar() now also hanles score and loadings matrices
mvr() now returns a ‘na.action’ component.
new internal functions fitted.mvr(), residuals.mvr() and naExcludeMvr() to handle observations with missing values.
mvr, mvrCv and predict.mvr now has support for scaling of X.
A new function stdize (with predict and makepredictcall methods) for explicit centering and/or scaling.
Correlation loadings plot (corrplot).
New argument ‘varnames’ in coefplot, to label the x tick marks with the variable names.
loadingplot now uses the ‘labels’ argument to label x tick marks when 'scatter = FALSE'.
loadingplot, coefplot and plot.mvrVal can now display legends, with the argument 'legendpos'.
mvr and model.matrix.mvr now removes the prepended term name from colnames of X when there is only one term and it has colnames.
The plot functions now avoid setting defaults for graphical parametres explicitly, wherever possible (e.g. lwd = NULL instead of lwd = 1). That way, par() settings are respected.
Most "handled" graphical parametres have been added to the formal argument list (for most functions: xlab and ylab).
New functions compnames, prednames and respnames, used in plot and summary functions.
Some minor internal changes in the plot and summary functions.
Allows ‘method = "model.frame"’ in mvr, plsr and pcr.
New method model.frame.mvr.
Added missing output component ‘Yloadings’ to oscorepls.fit.Rd
Added/fixed a couple of references.
mvrCv.R: Bugfix; added ^2 to R2 calculation
predict.mvr.R: Fix handling of ‘newdata’ such that checks of the dimensions of the variables found, are performed. Also allow a matrix (without any checks). In addition, a small fix for matrices without row names.
loop revision in mvrCv.R
Store data sets in binary form
mvr.Rd: Added more explicit information about the formula argument.
Numerous small clean-ups in the .Rd files
Added encoding information to DESCRIPTION and *.Rd