使用 heatmaply 将行名称添加到热图中

问题描述 投票:0回答:1

我正在Rstudio中绘制一些基因表达的热图,但行名称(应该是样本或基因名称)被数字替换。我已经检查了一些帖子但没有机会。抱歉,如果这是一个简单的问题或重复的问题,我是 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
heatmap heatmaply
1个回答
1
投票

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

rownames(my_data) <- my_data[, 1]
my_data <- my_data[, -1]
library(heatmaply)
heatmaply(my_data) # should now work
© www.soinside.com 2019 - 2024. All rights reserved.