Alo*_*los 10 r data-visualization cluster-analysis matrix
我正在尝试聚类蛋白质dna相互作用数据集,并使用来自R包gplots的heatmap.2绘制热图.以下是生成这些图形的完整过程:在我的案例中,使用一些相关性生成距离矩阵.
library(RColorBrewer);
library(gplots);
args <- commandArgs(TRUE);
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);
mtscaled <- as.matrix(scale(matrix_a))
pdf("result.pdf", pointsize = 15, width = 18, height = 18)
result <- heatmap.2(mtscaled, Colv=T,Rowv=T, scale='none',symm = T, col = brewer.pal(9,"Reds"))
dev.off()
Run Code Online (Sandbox Code Playgroud)
通过执行以下操作,我可以使用正常的热图功能来完成此操作:
result <- heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)
Run Code Online (Sandbox Code Playgroud)
但是,当我对Heatmap.2使用相同的设置时,群集在对角线上也不会对齐.我附加了2张图像,第一张图片使用热图,第二张图片使用热图.我使用了RColorBrewer包中的Reds颜色来帮助更好地显示我正在拍摄的内容.我通常只使用默认的热图功能,但我需要heatmap.2提供的颜色变化.
以下是用于生成热图的数据集的列表,在将其转换为距离矩阵后: DataSet
就好像有两个参数是冲突的.Colv=T
说要按群集排序列,并symm=T
说要按行排序列.当然,由于数据是对称的,因此可以满足这两个约束,但是Colv=T
获胜并且您获得两个独立的群集顺序,这些顺序恰好是不同的.
如果你放弃了树形图的冗余副本,下面给出了你想要的热图,至少:
result <- heatmap.2(mtscaled, Rowv=T, scale='none', dendrogram="row", symm = T, col = brewer.pal(9,"Reds"))
Run Code Online (Sandbox Code Playgroud)