from calculated stability based on Rand indexes for consecutive clustering run, find the resolution (window), where the stability is the highest

find_optimal_stability(
  list_clusters,
  run_RandIdx,
  bagging = FALSE,
  windows = seq(from = 0.025, to = 1, by = 0.025)
)

Arguments

list_clusters

is a list object containing 40 clustering results

run_RandIdx

is a data frame object from iterative clustering runs

bagging

is a logical that is true if bagging is to be performed, changes return

windows

a numeric vector specifying the ranges of each window.

Value

bagging == FALSE => a list with optimal stability, cluster count and summary stats bagging == TRUE => a list with high res cluster count, optimal cluster count and keystats

Author

Quan Nguyen, 2017-11-25

Examples

day5 <- day_5_cardio_cell_sample mixedpop2 <-new_summarized_scGPS_object(ExpressionMatrix = day5$dat5_counts, GeneMetadata = day5$dat5geneInfo, CellMetadata = day5$dat5_clusters) cluster_all <-clustering(object=mixedpop2)
#> Performing 1 round of filtering
#> Identifying top variable genes
#> Calculating distance matrix
#> Performing hierarchical clustering
#> Finding clustering information
#> No more outliers detected in filtering round 1
#> Identifying top variable genes
#> Calculating distance matrix
#> Performing hierarchical clustering
#> Finding clustering information
#> Done clustering, moving to stability calculation...
stab_df <- find_stability(list_clusters=cluster_all$list_clusters, cluster_ref = cluster_all$cluster_ref)
#> Done calculating stability...
optimal_stab <- find_optimal_stability(list_clusters = cluster_all$list_clusters, stab_df, bagging = FALSE)
#> Start finding optimal clustering...
#> Done finding optimal clustering...