작년쯤에 겨우 했는데 기록을 해두지 않았더니 다시 기억을 끄집어 내는데 2시간쯤 걸렸다. 그래서 까먹지 않도록 여기에 기록을 해두어야 겠다는 생각이 들었다. 예전에 기록한 내용이라서 될 줄 알고 그냥 했더니 오류가 있어서 수정을 했다. 기본은 Data 파일을 불러와서, Matrix 로 변환한 다음 Heatmap 작성이다. 말로는 간단하고, 실제로도 간단하다. :)
arraydata <- read.table("b08.csv", header=T, sep=",")
설명) b08.csv 에 저장한 파일을 불러와서 arraydata 에 입력한다. 보통 자료를 관리할 때에 첫 열에 기본 항목을 입력하는 경향이 있는데 이러한 양식을 그대로 사용할 경우 Heatmap 을 만들 수가 없다. 물론, 첫 열을 인식시키지 않는 방법이 있을 것 같기는 하지만, 아직 방법을 찾지 못했다. 첫 줄의 항목은 Header 항목으로 인식하고, 자료 사이의 값은 ",(쉼표)" 에 의하여 분리되어 있다는 의미임. 엑셀에서 파일을 CSV 로 저장할 때에 'CSV (쉼표로 분리)' 라는 항목이 있는 것을 알고 있어야 함.
matrixarraydata <- as.matrix(arraydata)
설명) Distance 를 계산하기 위해서는 자료를 matrix 로 불러와야 한다고 함. 기본적인 개념을 알고 있어야 할 것 같기는 한데.. 아무튼 'as.matrix' 로 하면 한 방에 해결됨. 이러면 b08.csv 에서 불러온 파일은 matrixarraydata 라는 matrix 로 입력된다.
heatmap(matrixarraydata, hclustfun=my.hclust, distfun=my.dist)
설명) 결과값을 heatmap 으로 작성해 줌. Clustering 방법은 my.hclust 에서 지정된 방법, distance 는 my.dist 에서 지정된 방법으로 구함. 기본적으로 euclidean distance 에 complete method 로 clustering 이 되어 있어서 뒷 부분은 빼줘도 되지만, 다른 방법으로 해볼 것이라면 넣어 주는게 좋다.
my.hclust <- function(x){hclust(x, method="complete")}
설명) 대부분의 논문에서 생략하는 부분인데 이런 data 는 Chip 에 DNA 나 RNA 등을 반응시키는 방법부터 Scan 은 어떻게 하였으며, 어떻게 Normalization 을 시행 했는데 기술을 해줘야 한다. Normalization 은 아직 책에서 몇 번 보고 넘어간 부분이라서 생략하도록 하고, 외부에 의뢰를 하면 Normalization 까지는 되어져서 오기 때문에 구할 필요까지는 없다. Complete method를 사용할 경우에는 저렇게 표현하고 Ward method 일 경우에는 "ward"라고 하면 됨.
my.dist <- function(x){dist(x, method="euclidean")}
설명) 위에걸 보면 이것도 쉽게 알 수 있다.
약 5000개의 값이 10개 있는 data로 만든 표이다. 처음에 중복된 값이 3개씩 있다는 것을 몰라서 15000개 정도의 값을 10개 있는 걸로 했더니 메모리 부족이라며 안되었는데.. 그래도 5000개 정도이면 시간이 좀 걸려서 그렇지 나오기는 한다. 시간을 측정하지는 않았지만 5~10분 정도 소요된다.
01 지리정보 다운로드 방법 소개
POKUS에서 원하는 지리정보를 다운로드 받는 방법을 알려 드립니다.
02 GIS 데이터 이해하기
GIS 데이터의 종류와 구조에 대해 간단히 소개합니다.
03 좌표계 이해하기
지리좌표계와 투영좌표계를 중심으로 좌표계를 간단히 소개합니다.
04 UTM(Universal Transverse Mercator) 좌표계
대표적인 투영좌표계인 UTM 좌표계를 소개합니다.
05 Quantum GIS (QGIS) 최신버전 확인하고 프로그램 설치하기
인터넷에서 QGIS를 다운로드 받아 설치하는 방법을 알아봅니다.
06 QGIS에서 길이와 면적 계산하기
라인 데이터의 길이와, 폴리곤 데이터의 면적을 계산하는 방법을 소개합니다.
07 QGIS에서 속성으로 피처 선택하고 편집하기
어트리뷰트를 이용하여 피처를 선택하고, 불필요한 피처를 삭제하는 방법을 소개합니다.
08 QGIS에서 벡터 레이어 분석하기
자원조사 샘플 데이터를 이용하여 조사격자 별 집중구간과 통계치를 공간분석을 통해 수행해 봅니다.
09 QGIS에서 투영법 확인하고 워프(재투영) 적용하기
앞서 03, 04글에서 소개된 좌표계를 확인하고 좌표변환 하는 방법을 학습해 봅니다.
10 QGIS에서 서로 다른 좌표계로 정의된 파일들을 변환해서 중첩하기
서로 다른 좌표계를 가지고 있는 데이터를 좌표변환하지 않고도 중첩해서 사용할 수 있는 기능을 학습해 봅니다.
11 QGIS에서 임상도와 오픈 항공사진, 지적도 열어보기
오픈 API를 통해 다음이나 네이버와 같은 온라인 지도를 호출하여 활용하는 방법을 학습합니다.
12 QGIS에서 WMS 레이어 추가해서 수치지질도 열기
온라인 수치지질도를 호출하여 사용하는 방법을 소개합니다.
13 QGIS에서 새 백터 레이어 만들고 피처 추가하기
GIS 데이터를 신규 생성하고, 온라인 지도를 활용하여 새 피처를 작성하는 방법을 소개합니다.
14 QGIS에서 공원경계, 임상도 열고 스타일 설정하기
다양한 GIS 데이터를 열람하고 색상, 선 두께 등의 스타일을 정의해 봅니다.
15 QGIS에서 임상도 라벨 설정하기
어트리뷰트를 이용하여 라벨을 설정하는 방법을 소개합니다.
16 QGIS에서 조난사고 위치 엑셀문서를 쉐이프파일로 변환하기
위치좌표를 가지고 있는 엑셀문서를 쉐이프파일로 변환하는 방법을 학습합니다.
17 QGIS에서 조난사고 위치도 작성을 위한 속성 변경하기
14 글과 유사하며, 목적에 따라 GIS 데이터의 스타일을 설정하는 방법을 학습해 봅니다.
18 QGIS에서 조난사고 집중구간 공간분석 (온도지도: Heatmap)
온도지도(Heatmap) 기능을 이용하여 포인트 데이터의 밀집도를 분석하는 방법을 학습해 봅니다.
'빅데이터' 카테고리의 다른 글
공공기관 전체 / 연구 보고서 현황 (0) | 2015.02.24 |
---|---|
공기업/ 기관별 경영공시 (0) | 2015.02.24 |
모바일 폰 사용자의 실시간 공간분포를 공간정보와 연동 (0) | 2015.02.24 |
서울시 열린데이터 광장 (0) | 2014.08.19 |
서울 열린 데이터 광장, 2600여종 공공데이터 개방 (0) | 2014.08.19 |