2017-01-14 3 views
0

을 셀 값에 대한 cellnote 숨기기 내가 gplots로 구축 작업 히트 맵은, 여기에 표시된대로 다음과 같이R의 히트 맵은 : = 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 

reshape 패키지를 사용하여 cast 함수를 사용하여 피벗 테이블로 만든 내 matrix1에는 많은 0이 포함되어 있습니다. 행렬의 값이 0 일 때마다 히트 맵을 혼동하는 것처럼 '셀 노트'를 표시하고 싶지 않습니다.

그러나 지금까지는이를 수행하는 방법을 찾지 못했으며 어떤 조언을 해주셔서 감사드립니다.

감사합니다.

+0

그건''ggplot2''가 아닙니다. –

+0

네 말이 맞아. 나는 'gplots'을 말하려고했다 - 혼란에 유감스럽게 생각한다. –

+0

또 다른 빠른 팁 :'reshape2'에서'acast'를 사용하면 데이터는 이미 행렬이 될 것이므로 하나로 변환 할 필요가 없습니다. – Joe

답변

1

제게는 NAs로 0을 대체하는 새로운 행렬을 만들고이를 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을 포기하지 않았다, 그래서이 예를 들어 그것을 밖으로 해시.)

관련 문제