- New
abs
argument inconsensus_cluster()
: control whether to apply absolute value to Spearman and Pearson correlation matrices before subtracting from one (@tiagochst, #161) - New distance matrix option,
distance = "pearson"
- Use
blockcluster
instead ofmixedClust
as the latter is now archived - Update tests in
consensus_cluster()
that skip when suggested packages are not installed
- Sort cluster sizes
k
correctly in relative change in area under CDF curve (@IgnatiusPang, #167) and consensus matrix CDF graphs - Replace deprecated
aes_
calls with tidyeval idioms - Pass
p.item
andseed.data
arguments todice()
(#162, #165)
Internal and external validity indices were refactored to avoid using helper functions from the clusterCrit
package, which is scheduled to be archived. Please adapt your code if it extracts deprecated validity indices, as described below.
- Calinski-Harabasz index now calculated using
clusterSim::index.G1()
- Dunn index now calculated using
clValid::dunn()
- Gamma index now calculated using
clusterSim::index.G2()
- C-index now calculated using
clusterSim::index.C()
- Davies-Bouldin now calculated using
clusterSim::index.DB()
- SD index now calculated correctly using
clv::clv.SD()
and helper functions fromclv
. Previously only the total separation between clusters was returned. - S_Dbw index now calculated using
clv::clv.SDbw()
and helper functions fromclv
- Rousseeuw's Silhouette now calculated using
clusterSim::index.S()
- PBM, Tau, McClain-Rao, Ray-Turi, and G-plus indices were removed as equivalent implementations from other packages were not found. They may be reinstated in the future.
- All external validity indices are now calculated manually using counts from the concordance matrix (Hubert, Jaccard, McNemar, and Rand indices)
- Best index value (maximum or minimum) now calculated manually
- Pass
lower
andupper
parameters fromPAC()
toconsensus_evaluate()
(#160)
- References added for
k_modes()
andCSPA()
consensus functions (#157) - Update roxygen2 to avoid HTML5 documentation notes
- Use
mixedClust
instead ofblockcluster
for co-clustering since the latter keeps getting archived
- Use
testthat::skip_if_not_installed()
to run tests conditionally when using packages in Suggests - Use roxygen tag
@examplesIf
andrlang::is_installed()
to run examples conditionally when using packages in Suggests
- Reinstate
blockcluster
package as it is under active maintenance again
-
Suppress new names messages from transformed NMF data
-
Flattened matrices include 4th dimension of clustering array
-
Add package logo using
hexSticker
-
Package
blockcluster
has been archived, remove from Suggests
-
Remove deprecated
context()
in tests -
Add
RColorBrewer
to Suggests because it is cross referenced in?graphs
-
Add trailing slash for URLs in DESCRIPTION
-
Remove
tibble
from Imports, no longer used
-
Suppress warnings when
clValid::connectivity()
is called regarding comparison with more than one class. Since R-4.0.0, amatrix
object also inherits from classarray
-
In
algii_heatmap()
, the objectii
already has row names passed from columns which are named vectors (issue also identified in #148, thanks @romainfrancois)
The following steps were taken to minimize dependencies and ensure that diceR
can still run on R 3.5:
-
Removed
cli
andRColorBrewer
from Imports -
Moved
apcluster
,blockcluster
,cluster
,dbscan
,e1071
,kernlab
, andkohonen
toSuggests
, use their specific clustering algorithms conditionally.mclust
needs to be inImports
becausemclust::mclustBIC()
needs to be imported -
Moved
sigclust
toSuggests
, use withinsigclust()
conditionally -
Moved
progress
toSuggests
, use withinconsensus_cluster()
conditionally -
Moved
poLCA
toSuggests
, use withindice()
conditionally -
Moved
Rtsne
toSuggests
, use withinprepare_data()
conditionally -
Removed old dependency
grDevices
fromImports
-
Set minimum version to R (>= 3.5) for
klaR
dependencyquestionr
-
In
ev_confmat()
, useyardstick::conf_mat()
instead ofcaret::confusionMatrix()
.caret
has many dependencies, so best to avoid using it -
In
graph_heatmap()
, useNMF::aheatmap()
instead ofgplots::heatmap.2()
.gplots
depends oncaTools
, which now relies on R (>= 3.6) -
In
consensus_cluster()
, usestringr::str_to_title()
instead ofHmisc::capitalize()
.Hmisc
depends onlatticeExtra
, which now relies on R (>= 3.6) -
In
graph_delta_area()
, use base solution instead offlux::auc()
.flux
also depends oncaTools
-
In
prepare_data()
, use own implementation ofquantable::robustscale()
with all of the former function's defaults.quantable
also depends oncaTools
-
Specify Bioconductor installation on Travis and AppVeyor since
NMF
now ImportsBiobase
-
Remove
suppressWarnings(RNGversion("3.5.0"))
after updating R version -
Run
LCA()
unit test on imputed clustering object -
Remove internal validity measures with any
Inf
entries forconsensus_reweigh()
-
Use a cleaner, more robust method of removing
Rplots.pdf
after runningtest-graphs.R
-
Ensure column binding with
purrr::map_dfc()
inconsensus_rank()
-
Replaced
dplyr::bind_cols()
withpurrr::flatten_dfc()
to suppress warning "Outer names are only allowed for unnamed scalar" inget_cdf()
-
update roxygen and docs
-
Remove deprecated
dplyr
functions and use.data
pronoun -
k-means clustering should not support distance matrices as input (@jerryji1993, #139)
-
Add LCA as a consensus function (@philstraforelli, #137)
-
Fix
length > 1 in coercion to logical
error inconsensus_evaluate()
due to comparisons using||
operator -
Add
suppressWarnings(RNGversion("3.5.0"))
before call toset.seed()
in examples, tests, and vignette to use old RNG sampling -
Use
.covrignore
to excludezzz.R
from being considered in code coverage -
Use
dplyr
version >= 0.7.5 to ensurebind_rows()
works -
Fixed bug where scaled matrix using the "robust" method in
prepare_data()
was nested in thedata
element (@AlineTalhouk, #134)
-
Add parameter
hc.method
indice
andconsensus_cluster
to pass tomethod
parameter instats::hclust
(@JakeNel28, #130) -
Remove dependencies on
largeVis
: package will be archived
-
Revert back to using
NMF
sinceNNLM
has been archived andNMF
is back in active maintenance. -
Choose fuzzifier m in
cmeans
using Equation 5 from https://academic.oup.com/bioinformatics/article/26/22/2841/227572 (thanks @Asduveneck)
-
Replace all code that depended on
NMF
withNNLM
andpheatmap
: CRAN notified thatNMF
will be archived because of inactive maintenance -
Update
.yml
files default templates
-
Fix bug in
consensus_cluster()
when custom algorithms were excluded from output (thanks @phiala) -
Use markdown language for documentation
-
Various performance improvements and code simplifications
-
Suppress success/fail message printout and fix input data to be matrix for block clustering
-
Fix bug in
algii_heatmap()
whenk.method = "all"
indice()
-
Fix bug in calculating internal indices when data has categorical variables (thanks Kurt Salmela)
-
Updated object output names in
consensus_evaluate()
-
Fix unit test in
test-dice.R
for R-devel -
Add internal function: ranked algorithms vs internal validity indices heatmap graph
-
Fix bugs in
graph_cdf()
,graph_tracking()
when only one k selected -
Progress messages in
dice()
-
Fix bug in
consensus_evaluate()
when algorithm hasNA
for all PAC values
-
New dimension reduction methods: t-SNE, largeVis (@dustin21)
-
Better annotated progress bar using
progress
package -
Speed up the operation that transforms a matrix to become "NMF-ready"
-
Simplify saving mechanism in
consensus_cluster()
such that onlyfile.name
needs to be specified, and thesave
parameter has been removed -
New algorithms: SOM, Fuzzy C-Means, DBSCAN (@dustin21, #118)
-
Added significance testing section to vignette
-
Fixed direction of optimization: compactness and connectivity should be minimized
- New submission to CRAN accepted on June 21, 2017