2015-01-07 23 views
2

큰 데이터가있는 pheatmap을 사용하고 있습니다. 나의 목적은 행과 열을 클러스터 화하고 주요 클러스터를 분석하는 것이다. 데이터 테이블을 업로드하고 다음과 같이 히트 맵을 수행합니다.R. pheatmap in R. 클러스터를 얻는 방법

library (pheatmap) 
data<-read.table ("example.txt", header = TRUE) 
pheatmap(data) 

이렇게하면 내 데이터의 히트 맵을 얻을 수 있습니다. 내 example.txt는 다음과 같다 :

a b c d e f 
a 1 0.1 0.9 0.5 0.65 0.9 
b 0.1 1 0.39 0.83 0.47 0.63 
c 0.9 0.39 1 0.42 0.56 0.84 
d 0.5 0.83 0.42 1 0.95 0.43 
e 0.65 0.47 0.56 0.95 1 0.14 
f 0.9 0.63 0.84 0.43 0.14 1 

이 아주 바보 같은 질문 일 수도 있지만 어쨌든 나는 그것을 게시 할 수 있습니다. pheatmap (데이터)을 실행 한 후 클러스터에 해당하는 요소를 어떻게 얻을 수 있습니까? 결과를 특정 방법으로 저장하고 다른 R 패키지로 분석해야합니까?

모든 제안을 환영합니다!

갑, 사전에

+0

Stackoverflow에서 재현 할 수있는 예제 (= 복사 & 붙여 넣기 준비)를 제공하십시오 - 그러면 도움이 될 것입니다. 어떤 독자도 "data.txt"를 가지고 있지 않으며 또한'library (pheatmap)'가 없습니다. – lukeA

+0

@lukeA 예제와 함께 업로드합니다. – Gabelins

답변

10

잡아 pheatmap의 결과를 주셔서 감사 cutree를 사용합니다. 예를 들어, 10 개의 클러스터를 추출한다. 당신은 할 수 :

library(pheatmap) 
res <- pheatmap(mtcars) 
mtcars.clust <- cbind(mtcars, 
         cluster = cutree(res$tree_row, 
             k = 10)) 
head(mtcars.clust) 
# mpg cyl disp hp drat wt qsec vs am gear carb cluster 
# Mazda RX4   21.0 6 160 110 3.90 2.620 16.46 0 1 4 4  1 
# Mazda RX4 Wag  21.0 6 160 110 3.90 2.875 17.02 0 1 4 4  1 
# Datsun 710  22.8 4 108 93 3.85 2.320 18.61 1 1 4 1  2 
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1  3 
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2  4 
# Valiant   18.1 6 225 105 2.76 3.460 20.22 1 0 3 1  3 

?pheatmap, ?hclust과 도움을 ?cutree을 참조하십시오.

+0

거기에 출력에서 ​​첫 번째 (헤더) 및 마지막 (클러스터) 열을 저장하는 방법은 무엇입니까? – Gabelins

+1

그건'cutree (res $ tree_row, k = 10)'혼자 또는 예. 'data.frame (클러스터 = cutree (res $ tree_row, k = 10))'. – lukeA