Improved documentation and added new pkgdown documentation website.
NEWS file moved to markdown format instead of .Rd and available on the website
Adjustments:
Documentation roxygenized.
More selective importing and exporting.
S3 implementation of ridgeP output.
Documentation:
Updated CITATION file
Updated README file
Bug fixes:
Fixed bug in GGMpathStats: Incorrectly stated before that all igraph layouts were supported. Now they indeed are supported.
Adjustments:
Bioconductor dependencies are now automatically installed upon first installation of rags2ridges.
GGMpathStats now has additional visualization options: It can handle all layout functions supported by igraph. Moreover, it is now possible to specify custom coordinates for node-placement.
Notifications:
Hot fix due to class changes in “matrix”. No major visible user changes.
CNplot function again updated: higher max. iterations for Lanczos method
Notifications:
Hot fix due to new RNG. No visible user changes.
Notifications:
optPenalty.LOOCV is deprecated. Please use optPenalty.kCV instead
optPenalty.LOOCVauto is deprecated. Please use optPenalty.kCVauto instead
Documentation:
Updated CITATION file
Updated README file
Adjustments:
sparsify now has an additional thresholding option: ‘connected’
Documentation:
Updated CITATION file
Updated README file
Bug fixes:
Fixed bug in Ugraph:
Incorrectly stated before that all igraph layouts were supported.
Now they indeed are supported.
Notifications:
conditionNumberPlot is deprecated. Please use CNplot instead
Features of the CNplot function (above and beyond conditionNumberPlot):
The digitLoss and rlDist arguments have been removed
These arguments have been replaced with the logical argument Iaids
Iaids = TRUE amends the basic condition number plot with interpretational aids
These aids are the approximate loss in digits of accuracy and and approximation of the acceleration along the regularization path of the condition number
Argument main is now a character argument
Argument value now by default takes the value 1e-100 (convenient)
Now uses C++ functionalty for additional speed
Adjustments:
edgeHeat now has aligned x-axis labels
The visualizations of the optPenalty.LOOCV and optPenalty.aLOOCV functions now will no longer produce horizontal and/or vertical lines that fall outside the boundaries of the figure
optPenalty.LOOCV now uses log-equidistant penalty grid for optimal penalty parameter determination (this also enhances the visualization)
New features updated optPenalty.aLOOCV function:
Function has been sped up by killing redundant inversion
now uses log-equidistant penalty grid for optimal penalty parameter determination (this also enhances the visualization)
New features updated Ugraph function:
One can now also specify vertex placement by coordinate specification
Now outputs, for convenience, the vertex coordinates of the plotted graph
ridgePathS has been sped up by killing redundant inversion
The covML function has been amended with an argument that indicates if a correlation matrix (instead of an ML estimate of a covariance matrix) is desired. This offers more flexibility. One can now get the ML estimate of the covariance matrix, the ML estimate of the covariance matrix on standardized data, as well as the correlation matrix
The optPenalty.LOOCVauto function has been amended with an argument that indicates if the evaluation of the LOOCV score should be performed on the correlation scale
The optPenalty.LOOCV function has been amended with an argument that indicates if the evaluation of the LOOCV score should be performed on the correlation scale
The optPenalty.aLOOCV function has been amended with an argument that indicates if the evaluation of the approximate LOOCV score should be performed on the correlation scale
Documentation:
Added this NEWS file!
Updated (and corrected) CITATION file
Added README file
Added (selective) import statements for default packages as required for R-devel
Additions:
rags2ridges now uses Rcpp and RcppArmadillo with core functions written in C++. The package should now be at least two orders of magnitude faster in most cases.
Added, next to the core module, the fused ridge module. The fused module provides functionality for the estimation and graphical modeling of multiple precision matrices from multiple high-dimensional data classes. Functions from this module are generally suffixed with .fused. Functions tied to (or added with) this module are:
isSymmetricPD
isSymmetricPSD
is.Xlist
default.target.fused
createS
getKEGGPathway
kegg.target
pooledS
pooledP
KLdiv.fused
ridgeP.fused
optPenalty.fused.grid
print.optPenaltyFusedGrid
plot.optPenaltyFusedGrid
optPenalty.fused.auto
optPenalty.fused
default.penalty
fused.test
print.ptest
summary.ptest
hist.ptest
plot.ptest
sparsify.fused
GGMnetworkStats.fused
GGMpathStats.fused
The following functions were added to the core module:
covMLknown
GGMmutualInfo
Added miscellaneous (hidden) functions.
Bug fixes:
Fixed bugs in GGMpathstats:
Code no longer breaks down if variable names are absent.
Now properly handles singleton pathsets.
Fixed bug in sparsify: Now always returns symmetric objects
Adjustments:
Argument verticle as used in various functions has been renamed to vertical. Sorry for any inconvenience.
Internal usage of ridgeS replaced by the faster C++-dependent counterpart ridgeP
New features updated conditionNumberPlot function:
Function has been sped up
Now uses log-equidistant grid for visualization
Now includes option to additionally plot the approximate loss in digits of accuracy
Notifications:
ridgeS is deprecated. Please use ridgeP instead
Future versions of rags2ridges will be subject to changes in naming conventions
Additions:
Inclusion hidden function .pathContribution for usage in GGMpathStats function
Inclusion hidden function .path2string for usage in GGMpathStats function
Inclusion hidden function .pathAndStats for usage in GGMpathStats function
Inclusion hidden function .cvl for usage in optPenalty.LOOCVauto function
Inclusion hidden function .lambdaNullDist for usage in GGMblockNullPenalty function
Inclusion hidden function .blockTestStat for usage in GGMblockTest function
Inclusion function that expresses the covariance between a pair of variables as a sum of path weights: GGMpathStats
Inclusion function that determines the optimal penalty parameter value by application of the Brent algorithm to the LOOCV log-likelihood: optPenalty.LOOCVauto
Inclusion function that generates the distribution of the penalty parameter under the null hypothesis of block independence: GGMblockNullPenalty
Inclusion function that performs a permutation test for block structure in the precision matrix: GGMblockTest
Inclusion wrapper function: fullMontyS
Bug fixes:
Corrected small error in evaluateSfit function. The dir argument was not properly used previously.
Adjustments:
New features updated optPenalty.aLOOCV function:
For scalar matrix targets the complete solution path depends on only 1 eigendecomposition and 1 matrix inversion. Meaning: the function is sped up somewhat by lifting redundant inversions out of for loops.
Optional graph now plots the approximated LOOCV negative log-likelihood instead of ln(approximated LOOCV negative log-likelihood).
Legend in optional graph has been adapated accordingly.
New features updated optPenalty.LOOCV function:
Optional graph now plots the LOOCV negative log-likelihood instead of ln(LOOCV negative log-likelihood).
Legend in optional graph has been adapated accordingly.
New features updated default.target function:
Inclusion new default target option: type = DIAES. Gives diagonal matrix with inverse of average of eigenvalues of S as entries.
New features updated GGMnetworkStats function:
Now also assesses (and returns a logical) if graph/network is chordal.
Now also includes assesment of the eigenvalue centrality.
Now includes option to have list or table output.
New features updated ridgePathS function:
Sped up considerably for rotation equivariant alternative estimator. By avoidance of redundant eigendecompositions and inversions.
Now catches breakdown due to rounding preculiarities when plotType = "pcor".
New features updated sparsify function:
Inclusion new thresholding function top: retainment of top elements based on absolute partial correlation.
Inclusion output option: When output = "light", only the (matrix) positions of the zero and non-zero elements are returned.
Function no longer dependent on GeneNet; now makes direct use of fdrtool.
Function now also prints some general information on the number of edges retained.
Additions:
Inclusion hidden function .ridgeSi for usage in conditionNumberPlot function.
Inclusion hidden function .eigShrink for usage in (a.o.) ridgeS function.
Inclusion function calculating various network statistics from a sparse matrix: GGMnetworkStats
Inclusion function for visual inspection fit of regularized precision matrix to sample covariance matrix: evaluateSfit
Inclusion function for visualization of regularization paths: ridgePathS
Inclusion function for default target matrix generation: default.target
Adjustments and name changes:
New features updated evaluateS function:
The printed output of the evaluateS function is now aligned
Calculation spectral condition number has been improved
conditionNumber function now called conditionNumberPlot. The updated function has new features:
Main plot can now be obtained with either the spectral (l2) or the (approximation to) l1 condition number
Main plot can now be amended with plot of the relative distance to the set of singular matrices
The title of the main plot can now be suppressed
One can now obtain numeric output from the function: lambdas and condition numbers
New features updated sparsify function:
Changed type = c("threshold", "localFDR") to threshold = c("absValue", "localFDR") (clarifying nomenclature)
Changed threshold to absValueCut (clarifying nomenclature)
Will now output both sparsified partial correlation/standardized precision matrix and the sparsified precison matrix, when input consists of the unstandardized precision matrix
New features updated ridgeS function:
Contains an improved evaluation of the target matrix possibly being a null matrix
Now evaluates if a rotation equivariant alternative estimator ensues for a given target matrix
When rotation equivariant alternative estimator ensues, computation is sped up considerably by circumventing the matrix square root
optPenaltyCV function now called optPenalty.LOOCV, for sake of (naming) consistency. The updated function has new features:
targetScale option has been removed
Replaced log in optional graph by ln
Visual layout of optional graph now more in line with recommendations by Tufte (regarding data-ink ratio)
New features updated optPenalty.aLOOCV function:
Replaced log in optional graph by ln
Visual layout of optional graph now more in line with recommendations by Tufte (regarding data-ink ratio)
Computation optimal penalty in conditionNumberPlot, optPenalty.aLOOCV and optPenalty.LOOCV functions sped up considerably for rotation equivariant alternative estimator. By usage new ridgeS and avoidance of redundant eigendecompositions
Default target in ridgeS, conditionNumberPlot, optPenalty.aLOOCV and optPenalty.LOOCV now \code{“DAIE” option from default.target
Additions:
Inclusion function for ML estimation of the sample covariance matrix: covML
Inclusion function for approximate leave-one-out cross-validation: optPenalty.aLOOCV
Inclusion function conditionNumber to visualize the spectral condition number over the regularization path
Inclusion function evaluateS to evaluate basic properties of a covariance matrix
Inclusion function KLdiv that calculates the Kullback-Leibler divergence between two normal distributions
Inclusion option to suppress on-screen output in sparsify function
Bug fixes:
Corrected small error in optPenaltyCV function
Adjustments:
Both optPenaltyCV and optPenalty.aLOOCV now utilize covML instead of cov
Default output option in optPenaltyCV (as in optPenalty.aLOOCV) is now light