У меня есть нормализованные данные по экспрессии генов, для которых я хочу найти оптимальное количество кластеров. Используя пакет mclust
после подготовки данных,
Я использую следующее для ранжирования данных.
ranked.exprs <- probe_ranking(input=exp_file,
probe_number=2000,
probe_num_selection="Fixed_Probe_Num",
data.exp=genes,
method="SD_Rank")
Использование
#Calculate number of clusters
cluster_num <- number_clusters(data.exp=genes, Fixed=NULL,
gap_statistic=TRUE)
# I get 8
#checking silhouette values for kmeans
resukm <-fviz_nbclust(ranked.exprs, FUNcluster = kmeans, method = c("silhouette"), diss = NULL, k.max = 10, nboot = 10,
verbose = interactive(), barfill = "steelblue", barcolor = "steelblue",
linecolor = "steelblue", print.summary = TRUE)
#results to 2 clusters
#running the gap statistic using hierarchical clustering
gap_stat <- clusGap(genes, FUN=hcut, K.max = 10, B = 50)
#results to 2 clusters
#checking silhouette values for hierarchical clustering
resuhie <-fviz_nbclust(genes, FUNcluster = hcut, method = c("silhouette"), diss = NULL, k.max = 10, nboot = 10,
verbose = interactive(), barfill = "steelblue", barcolor = "steelblue",
linecolor = "steelblue", print.summary = TRUE)
#results to 2 clusters
Что может быть причиной дляполучить два разных числа 8 и 2? Мои данные также содержат пропущенные значения.