Как равномерно распределить недостающие значения и отобразить все заголовки строк на тепловой карте? - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в R и пытаюсь составить одну тепловую карту. Ниже приведены некоторые сомнения:

  1. Отсутствующие значения, представленные серым цветом, похоже, сгруппированы в одной области карты (изображение прилагается). Как сделать так, чтобы он равномерно распределялся на карте?

  2. Порядок столбцов изменяется при создании тепловой карты. Как этого избежать?

  3. Все заголовки строк не отображаются на карте. Как их получить?

Код:

library(gplots)
library(RColorBrewer)
library(colorspace)
mat_val <- read.csv("HM5.txt", sep="\t", header = T, row.names=1)
data.m <- as.matrix(mat_val)
data.m
normalization<-function(x){
dimm=dim(x)
for(i in 1:dimm[1]){
m <- mean(x[i,], na.rm=TRUE)
s <- sd(x[i,],na.rm=TRUE)
x[i,]=(x[i,]-m)/s
}
return(x)
}
data.m1<-normalization(data.m)
png("plot.png")
heatmap.2( data.m1,
col = colorpanel(100,"red","yellow","green"),
#margins = c(12, 22),
trace = "none",
xlab = "Comparison",
#lhei = c(2, 8),
scale = c("none"),
symbreaks = min(data.m1, na.rm=TRUE),
na.color="grey",
cexRow = 0.5, cexCol = 0.7,
main = "DE genes",
dendrogram = "both",
Colv = TRUE )
dev.off()

Тепловая карта с отсутствующими значениями, сгруппированными в верхней части карты

Спасибо. Ниланчал

...