使用heatmaply向热图添加行名称

时间:2017-11-27 02:46:05

标签: heatmap heatmaply

我在Rstudio中绘制了一些基因表达的热图,但是行名(应该是样本或基因名称)被数字替换。我查了some posts但没有机会。抱歉,如果这是一个简单的问题或重复,我是R的新人。

这是我的R脚本:

###############################################################

library(heatmaply)

filename <- "TFzebra-TMM-name.matrix"

head(filename)

my_data <- read.table(filename, sep='\t', quote='', stringsAsFactors=FALSE, header=TRUE)
head(my_data)
dim(my_data)
nrow(my_data)
ncol(my_data)
row.names(my_data) <- my_data$samples
head (my_data)
my_data <- my_data[, -1]
head(my_data)
data <- my_data/rowSums(my_data)
my_matrix <- as.matrix(data) 

heatmaply(data, xlab = "Features", ylab = "Transcription Factors", 
          scale = "column",
          main = "Data transformation using 'scale'",
          margins = c(60,100,40,20))

注:

> head (my_data)
    samples   J1 J2 J3    H1    H2    H3
1   zf-C2H2 0.00  0  0 0.507 0.232 0.540
2     baz2a 0.00  0  0 0.355 0.342 0.132
3    baz2ab 0.00  0  0 0.091 0.070 0.163
4    kdm5ba 0.00  0  0 1.835 0.856 1.527
5      dbpa 0.00  0  0 5.344 5.355 0.000
6 LOC555983 0.02  0  0 0.294 0.634 0.835

注2:

> my_data <- my_data[, -1]
> head(my_data)
    J1 J2 J3    H1    H2    H3
1 0.00  0  0 0.507 0.232 0.540
2 0.00  0  0 0.355 0.342 0.132
3 0.00  0  0 0.091 0.070 0.163
4 0.00  0  0 1.835 0.856 1.527
5 0.00  0  0 5.344 5.355 0.000
6 0.02  0  0 0.294 0.634 0.835

1 个答案:

答案 0 :(得分:1)

你应该在删除之前将第一列添加到row.names属性(使用rownames函数,是的,我知道,它不是非常一致)。那就是:

rownames(my_data) <- my_data[, 1]
my_data <- my_data[, -1]
library(heatmaply)
heatmaply(my_data) # should now work

对于未来 - 请记住,因为你要求人们从他们的时间(免费)给你帮助,你必须首先告诉他们你已经尽力充分利用他们的时间。 因此,在你发布之前,请确保你扩展你的问题以包括所有需要的信息,以便人们回答它(特别是让它包含一个自我包含的例子)。 请阅读以下两个关于如何编写好问题的指南,这将有助于确保您将来获得所需的帮助: http://stackoverflow.com/help/how-to-ask