更改用于绘制热图的矩阵的列名级别

时间:2018-11-19 03:39:11

标签: r heatmap levels columnname pheatmap

我有矩阵,可以使用R中的pheatmap包绘制热图。

我的矩阵就像:

Name A B C
Apple 1 2 3
Banana 4 5 6
Pear 7 8 9

如果我不对列进行聚类,则热图会将列的顺序设置为A,B和C。如果我想将顺序设置为B,C,A怎么办?

我尝试过:

colnames(matrix)<-factor(colnames(matrix),levels = c("B","C","A"))

但它不起作用。

1 个答案:

答案 0 :(得分:1)

只需手动重新排列矩阵的列即可。

mat <- as.matrix(data.frame(df[, -1], row.names = df[, 1]))

library(pheatmap)
pheatmap(mat[, c("B", "C", "A")], cluster_rows = F, cluster_cols = F)

enter image description here


样本数据

df <- read.table(text =
    "Name A B C
Apple 1 2 3
Banana 4 5 6
Pear 7 8 9", header = T)