2017-01-14 8 views
0

Я рабочий Heatmap, построенный с gplots, как показано здесь:R Heatmap: Скрыть cellnote для значения ячейки = 0

heatmap.2(as.matrix(matrix1),cellnote=as.matrix(matrix1), 
    notecol="black",margins =c(9,6),trace="none",density.info="none", 
    col=my_palette,Rowv=NA,Colv=NA,dendrogram="none",scale="row") 

анализируемые данные в matrix1 выглядит следующим образом:

A  AA  AAA  BBB   CASH 

CASH 0   0   0   0 
JSUB 0.22171 0   0   2.20712 
SECR 2.92828 1.97112 3.53786  0.91444 
SENR 18.86672 11.53339 15.06844 21.57709 
SSEN 5.707  1.96225 0.57815  2.93462 
SSUB 0.36507 0.07968 0   0.44985 
SUB  1.0539 0   0   2.37103 
T1  0   0   0   0.56024 
T2  1.87901 0   0   3.00718 
UT2  0   0   0   0.15787 

Мой matrix1, который был создан как сводная таблица с функцией cast с использованием пакета reshape, содержит множество нулей. Всякий раз, когда значение в моей матрице равно нулю, я бы не захотел отобразить «клеточную», поскольку это просто смущает тепловую карту.

Тем не менее, я до сих пор не понял, как это сделать, и благодарен за любые советы.

Спасибо!

+0

Это не '' ggplot2''. –

+0

Вы правы. Я хотел сказать «gplots» - извините за путаницу. –

+0

Еще один быстрый совет: если вы используете 'acast' в' reshape2', ваши данные уже будут матрицей и поэтому не нуждаются в преобразовании в один. – Joe

ответ

1

Для меня это работает только для того, чтобы создать новую матрицу, заменяющую нули NA и передать это как аргумент cellnote.

matrix2 <- as.matrix(matrix1) 
matrix2[matrix2 == 0] <- NA 

Повторный запуск кода с помощью matrix2

heatmap.2(as.matrix(matrix1),cellnote=matrix2, 
     notecol="black",margins =c(9,6),trace="none",density.info="none", 
     col=my_palette,Rowv=NA,Colv=NA,dendrogram="none",scale="row") 

дает enter image description here

(Кстати, вы не дали my_palette, поэтому я хэшируюсь его для этого примера.)

 Смежные вопросы

  • Нет связанных вопросов^_^