聚类是单细胞下游分析中关键的一环,有助于识别细胞类型,分析细胞异质性,常见基础的聚类算法有kmeans、louvain、层次聚类、谱聚类等等,但确定簇数K的大小仍是一个难点。
可以通过elbow method(肘方法)绘制曲线,横坐标为聚类簇数K,纵坐标为每个数据点与聚类中心的欧式距离之和,具体计算如下:
随后找到一个距离首末两点连接直线距离最短的点,确定为elbow point。
cal_dist <- function(data,cluster_center){
data <- t(data)
min_dist <- c()
for (n in c(1:nrow(data))) {
dist <- c()
for(cc in c(1:nrow(cluster_center))){
dist <- c(dist,sqrt(sum((