- Added arguments for restricted resampling to
lm.rrpp
andpredict.lm.rrpp
, and permutation of full model residuals (with restrictions) tolm.rrpp
. - Added new function,
measurement.error
. - Added new function,
lm.rrpp.ws
. - Added
verbose
arguments to most analytical functions to reduce dense results. - Added utility functions (
getANOVAStats
,getPermInfo
,getTerms
, andgetModels
) to accommodateverbose
function choices, plus allow users to easily extract objects as output. - Added new function,
ICCstats
, for calculating ICC statistics forlm.rrpp
fits. - Added S3 generic functions for
measurement.error
, but also added a plot utility function,focusMEonSubjects
, which builds off ofplot.measurement.error
, to focus attention on specific plot details. - Added function,
interSubVar
, a utility function to use along withmeasurement.error
, to visualize how variation between replicate measures, within subjects, can affect inter-subject variation.
- Fixed SSCP issue in
summary.lm.rrpp
that produces matrices of 0s. The issue was inherent tolm.rrpp
, from erroneous assignment of models, only for output (not for mechanics). - Attempted fix of
predict.lm.rrpp
for QR-truncated design matrices. - Fixed illogical
print.progess
conditions inpairwise
. - Fixed potential problem with reliance on
Matrix::qrQ
, using rather,Matrix::qr.Q
. - Fixed GLS estimation issue with
pairwise
.
- argument
SE
added tocoef.lm.rrpp
for calculating bootstrap standard error.
- Added ability to use either Pearson or normalized residuals in residual plots for
plot.lm.rrpp
- Updated arguments for
plot.ordinate
to better work withplot.default
.
- Fixed S4 issue with GLS for
plot.lm.rrpp
diagnostic plots.
- New S3 function,
logLik.lm.rrpp
to obtain log-likelihood from anlm.rrpp
object. - New function,
scaleCov
to scale covariance matrices with linear or exponential scalars.
- Various lingering bugs from version 1.2 associated with sparse matrix calculation issues were removed.
- Updated
model.comparison
to include Z scores calculated from log-likelihoods.
- Fixed a bug in
predict.lm.rrpp
for new data frames with only one observation. - Fixed a bug in
SS.iter.main
that incidentally wrapped RSS.model by rows rather than columns. - Fixed a bug in
summary.lm.rrpp
that did not properly index a matrix ofRSS.model
.
- Fixed a typo in
plot.lm.rrpp
for diagnostic plots, which forced an error.
- Updated many functions to be able to use
Matrix
class matrices for more efficient computation, when needed. - Updated
checkers
function to use better algorithms to switch among different class matrices, to better save memory and increase computation time efficiency.
- Added catch to
anc.BM
for singleton nodes.
- Updated
lm.rrpp
to have less detritus during use. Also adjusted/updated support functions to work with updates.
- Fixed a few issues with dropped names when working with
data.frame
objects.
- Fixed issue in
lm.args.from.formula
for intercept only models with covariance matrices. - Fixed issue with non-full rank design matrices and dropped terms in
lm.rrpp
support functions. - Fixed issue in
logL
support function for non-full rank design matrices.
na.omit.rrpp.data.frame
added for handling missing data.looCV
function added as diagnostic tool.
coef.lm.rrpp
updated to provide results based onSS.type
, rather than type III SS, only.- Complete scanning and updating of code to identify and fix names lost due to matrix calculations or vector/matrix conversions in
R
.
- Fixed missing coefficients for GLS estimation in
coef.lm.rrpp
- Fixed missing data issue in
lm.rrpp
(passed ontolm
). - Fixed some
as.matrix
names dropping in support code.
- Computation of sums of squares in
lm.rrpp
usingMatrix
package and sparse matrix calculations. This speeds up computation time and requires far less memory allocation. - The
lm.rrpp
function now has a an argument,turbo
, which can suppress calculating coefficients in random permutations, if unneeded, which can speed up analysis of large data sets. - More options for parallel processing.
- New function,
convert2ggplot
, for coercingRRPP
plots into ggplot objects.
- Added option to add abscissa to
plot.predict.lm.rrpp
. - Added Box-Cox transformation to
effect.size
. - Added option to flip axes in
plot.ordinate
. - Updated
predict.lm.rrpp
so that functions in formulae are permissible.
- Adapted
summary.pairwise
to perform degree transformations rather thanprint.summary.pairwise
, so that objects saved are the same as objects printed. - Removed error trap from pairwise for n = 1 groups.
- Fixed class check on
model.comparison
. - Fixed
manova.update
pc dimension issue (output) - Fixed
xlim
andylim
to be adjustable inplot.ordinate
. - Added transform logical output to ordinate.
- Fixed intercept only model issue in lm.rrpp.
- Refined
manova.update
to have more efficient code and better notes. - Fixed a bug in
summary.manova.lm.rrpp
that mixed up rows and columns of a matrix of random stats. - Fixed a bug that eliminated row names for
lm.rrpp
data when converting a vector of data to a matrix. - Added a step to coerce single-column matrices to vectors in
rrpp.data.frame
to prevent downstream issues. - Made it possible to use
trajectory.analysis
with univariate response data, omitting vector correlations output.
ordinate
function.summary.ordinate
andplot.ordinate
S3 functionsadd.tree
function (for plotting withplot.ordinate
)
- Updated support functions for
lm.rrpp
to provide better flexibility for different formulas. - Changed
$LM$data
inlm.rrpp
to be a model frame rather than a data frame, consistent with$model
fromlm
.
- Fixed issue with transformation of dependent variable -- e.g., log(y) -- in formula for lm.rrpp. The bug was a failure to transform the variable(s).
- Fixed issue with GLS estimation of coefficients in pairwise (used GLS residuals instead of transformed residuals, by mistake).
- Fixed data.frame error in lm.rrpp for within-formula transformations (like log or poly).
- Arranged effect.type argument options in lm.rrpp to match anova.lm.rrpp).
prep.lda
A new function to generate arguments forlda
in theMASS
library.
classify
deprecated (in favor ofprep.lda
)- Changed the output structure for lm.rrpp objects. Either OLS or GLS statistics are returned, not both. There is no longer differentiation between GLS and weighted stats, as weighted stats are GLS estimated stats. The difference is obvious with the inclusion of weights or Cov matrix.
- No longer a
verbose
option withmanova.update
. The function was optimized to provide verbose output without having to slow down computation time.
- Fixed some issues with linear model weights and offset, throughout many functions.
- Sweeping changes to be CRAN 4.0 compliant
- Fixed a parallel processing issue with internal function,
SS.iter
(produced incorrect RSS). - Fixed multi-model anova TSS issue.
- Fixed an issue with the centering of trajectories in
trajectoty.analysis
. - Fixed an issue for calculating fitted values for GLS in the
lm.rrpp
function.
- Added
tol
andpc.no
arguments tomodel.comparison
(were fixed before) so that users have more control of the analysis.
- Tweaked logL tolerance calculation to be consistent with
prcomp
. - Tweaked support code for
lm.rrpp
to work better with missing data frames. - Fixed absolute eigenvalue issue with Cov.proj.
- Added forgotten code from last update to fix non-full rank design matrices.
- Fixed
trajectory.analysis
traj.list issue, to not use grep for sorting trajectories. (Now lexical ordering of interactions is used.) - Changed
det
todeterminant
in all needing functions, to use modulus for near-singular matrices - Fixed bug in
plot.lm.rrpp
(code lines out of order)
- Updated source in Description.
- Fixed univariate data issue with
model.comparison
- Fixed xlab flexibility issue for regression plots in
plot.procD.lm
manova.update
functiontrajectory.analysis
functionreveal.model.designs
function- New vignette for
ANOVA versus MANOVA in RRPP
- Added a pairwise variance comparison for the
pairwise
function.
- Tuned F-stat calculations to allow for model-specific residual variances, for multiple terms.
- Updated
procD.lm
to better work with data in the global environment rather than a data frame.
- Added
print.summary.pairwise
. - Added
model.comparison
function. - Added classify function.
- Added an update to allow classify to work on univariate data.
- Tuned criterion for assessing whether generalized inverse should be performed.
- Fixed bug with GLS variance estimation in pairwise.
- Fixed some issues with univariate data for
classify
. - Fixed some issues with univariate data for
pairwise
. - Fixed the logL function within model.comparisons for GLS determinants (was returning 0).
- Fixed some issues with the aov.multimodel subfunction of
anova.lm.rrpp
, related to GLS permutations and intercept only models. - Added random SS output to aov.multimodel subfunction of
anova.lm.rrpp
, so that it can be called by other functions/packages.
pairwise function
: allows pairwise comparison of means or slopes for alm.rrpp fit
.- A vignette for using RRPP, which is the same as Appendix S2 in Collyer and Adams (2008). RRPP: An R package for fitting linear models to high-dimensional data using residual randomization. Methods in Ecology and Evolution. (submitted)
- Added multi-model inference capability to
anova.lm.rrpp
- Fixed issue for
coef.lm.rrpp
tests when type II or type III SS is chosen, to make sure that appropriate coefficients are used.
-
anova.lm.rrpp.r
-
coef.lm.rrpp.r
-
lm.rrpp.r
-
predict.lm.rrpp.r
-
RRPP.support.code.r
-
RRPP.utils.r
-
Added a
NEWS.md
file to track changes to the package.