간단한 heat map 그리기

요즘 데이터를 heat map으로 가시화하는 방법이 인기를 끌고 있는 것 같다. 인간의 눈은 패턴을 인식하는데 매우 출중하기에, 데이터를 2차원적으로 펼쳐놓고 수치화된 값을 색으로 전환해 놓으면 눈에 특이적인 부분을 매우 쉽게 낚아챌 수 있다. 위키피디아에서는 heat map을 다음과 같이 정의하고 있다.
 
A heat map is a graphical representation of data where the individual values contained in a matrix are represented as colors.
 
Heat map을 잘 그리려면 데이터의 속성을 잘 이해하고, row와 column을 이에 맞게 배치해야 한다. 예를 들어 50명 학생들의 기말고사 성적(8개 과목이라 하자)을 heat map으로 표현하고자 한다면, 각 학생에 따르는 8가지 성적이 row로 오도록 배치해야 한다. 일반적인 마이크로어레이 데이터는 어떠한가? 개별 실험에 따르는 값들이 컬럼으로 배치된다. 따라서 t() 함수를 써서 행과 열이 서로 뒤바뀌도록 조작을 가해야 한다.
 
다음으로 또 잊어서 안될 것은 데이터 내부에는 숫자만 위치하게 만들어야 한다는 것이다. 즉 학생의 이름이나 각 과목명은 라벨로 위치시켜야 한다. 이들은 수치 자료(numeric)가 아니므로, heat map에서 색깔로 전환하여 표현할 수 있는 것이 아니다. hierarchical clustering에서도 마찬가지이다.   
Comments