colorhcplot将层次聚类分析的结果可视化为树状图,树状图的叶子和标签根据样本分组着色。直观的评估数据分组是否与自然发生的簇一致。
这个函数生成简单的彩色树状图,只需要两个强制参数:hc和fac。参数hc是hclust()调用的结果,而fac是定义分组的因子类型,因此树状图的叶片数必须与fac的长度相同。colorhcplot使用自定义调色板,用户可以指定颜色。
install.packages("colorhcplot") #安装包
library(colorhcplot) #加载包
1. 例一
data(USArrests) #美国各州的暴力犯罪率数据,是数据框
fix(USArrests)
hc <- hclust(dist(USArrests), "ave")
#hclust是层次聚类的方法
#ave是使用类平均法根据距离聚类
fac <- as.factor(c(rep("group 1", 10),
rep("group 2", 10),
rep("unknown", 30)))
#fac,定义分组
(1)
plot(hc)
(2)
colorhcplot(hc, fac, hang =-1,
#hang值是指表示标签与末端树杈之间的距离
#hang为负值会将绘图底部的所有标签对齐
lab.cex = 0.5,
#lab.cex 叶子标签字体大小
main = "Cluster Dendrogram",
#main,标题文字
lwd=3, las = 1,
#lwd,线条的宽度
#las,y轴标记标签的方向
lab.mar = 0.55)
#lab.mar保留给叶子标签的区域比例
举例hang=1,hang=-1
2. 例二
data(UScitiesD)
#UScitiesD为欧洲城市和美国城市之间的距离数据,是dist类型
hcity.D2 <- hclust(UScitiesD, "ward.D2")
fac.D2 <-as.factor(c(rep("group1", 3),
rep("group2", 7)))
plot(hcity.D2, hang=-1)
(2)
colorhcplot(hcity.D2, fac.D2,
lab.cex = 1.2, lab.mar = 0.75,
color = c("chartreuse2", "orange2"))
#color,自定义分组颜色
3. 例三
data(geneData)
#geneData是499个基因在13个样本的表达数据
exprs <- geneData$exprs
#geneData$exprs是geneData中表达数据
fac <- geneData$fac
#geneData$fac是样本分组(癌症样本、正常样本)
hc <- hclust(dist(t(exprs)))
colorhcplot(hc, fac, main="Control vs. Tumor Samples")
小编总结:
colorhcplot绘制的树状图简洁美观,小编就很喜欢这种简约风格,同时还可以通过不同颜色显示分组信息,可以直观的与聚类结果进行比较,大家可以借鉴哦~
学习学习再学习一下