基本概念
列(Columns)通常代表不同样本 行(Rows)通常代表不同基因的测量值 红色typically表示基因的高表达 蓝色或紫色表示基因的低表达
聚类过程示例
聚类步骤:
第一步: 计算与基因1最相似的基因
比较基因1与基因2:表达模式不同 比较基因1与基因3:表达模式相似 比较基因1与基因4:表达模式相似,但不如基因3相似
与其他基因进行比较 发现与基因4最相似
在本例中,基因1和基因3最相似 形成第一个簇(Cluster 1)
将新形成的簇视为单个单位 继续比较相似性 最终形成完整的聚类树
树状图(Dendrogram)
聚类的相似性 簇的形成顺序 分支长度表示相似程度: 最短分支 = 最相似 最长分支 = 最不相似
距离计算方法
欧几里得距离(Euclidean Distance)
# 欧几里得距离计算示例
euclidean_distance <- function(gene1, gene2) {
sqrt(sum((gene1 - gene2)^2))
}
# 曼哈顿距离计算示例
manhattan_distance <- function(gene1, gene2) {
sum(abs(gene1 - gene2))
}
# 使用hclust进行层次聚类
library(stats)
# 创建示例数据
data <- matrix(rnorm(20), nrow=4) # 4个基因,5个样本
row.names(data) <- paste0("Gene", 1:4)
colnames(data) <- paste0("Sample", 1:5)
# 计算距离矩阵
d <- dist(data)
# 使用不同方法进行聚类
hc_complete <- hclust(d, method="complete")
hc_single <- hclust(d, method="single")
hc_average <- hclust(d, method="average")
# 绘制热图
library(gplots)
heatmap.2(data,
Rowv=as.dendrogram(hc_complete),
trace="none",
col=colorRampPalette(c("blue", "white", "red"))(100))
注意事项
距离度量方法的选择是任意的,没有严格的生物学或物理学原因要求使用某种特定方法
不同的聚类方法可能会产生略有不同的结果
R语言中hclust函数默认使用完全连接法
选择适当的方法应基于数据特征和研究目的