2017-12-18 7 views
1

UPGMA 및 1- 피어슨 상관을 거리 통계로 사용하여 'pheatmap'기능으로 히트 맵을 만들어야합니다. 내 교수는 이것이 내 거리 매트릭으로 '유클리드'를 사용하지만 이것이 기본 거리 메트릭이라고 주장합니다. euclidian과 1-pearson 상관 관계가 동일하거나 틀린가? 그가 틀렸다면 히트 맵에 올바른 거리 측정법을 어떻게 사용할 수 있습니까?pheatmap 기본 거리 통계 R

내 입력

ph=pheatmap(avgreltlog10, color = colorRampPalette(rev(brewer.pal(n = 7, 
name = "RdYlBu")))(100), 
kmeans_k = NA, breaks = NA, border_color = "grey60", 
cellwidth = 10, cellheight=10, scale = "none", cluster_rows=TRUE, 
clustering_method = "average", cutree_rows = 4, cutree_cols= 2,) 

당신은 터미널에서()없이 함수 이름을 입력하여 기본 설정을 쉽게 확인할 수 있습니다

$tree_row 

Call: 
hclust(d = d, method = method) 

Cluster method : average 
Distance   : euclidean 
Number of objects: 65 


$tree_col 

Call: 
hclust(d = d, method = method) 

Cluster method : average 
Distance   : euclidean 
Number of objects: 10 
+0

이 메소드는'pheatmap ::: cluster_mat' 함수에 전달되어 소스 코드를 검사하고 "correlation"을 지정하면'd = as.dist (1 - cor (t) (mat))) ' – rawr

+0

좀 더 정교 할 수 있겠습니까? 지금은 ph() 함수에서 'clustering_distance_rows = "correlation", clustering_distance_cols = "correlation"을 인수로 사용했습니다. 그러나 나는'd = as.dist (1 - cor (t) (mat)))'를 넣을 곳이 확실치 않습니다. 'pheatmap ::: cluster_mat'을 어떻게 할 것인가? –

+0

'pheatmap ::: cluster_mat'은 단지 내부 함수입니다. 콘솔에 입력하십시오. 'd = ... '로 아무 것도 할 필요가 없다면,'pheatmap ::: cluster_mat' 함수는 당신을 위해 그렇게한다. – rawr

답변

1

R 출력

>pheatmap 

당신이 할 경우 유클리드가 기본값으로 사용되는 것을 볼 수 있습니다 :

,210
... clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean", clustering_method = "complete", ... 

1 - 피어슨 상관을 사용하려면, 단순히로 지정 : 그것은 때문에 다시 한 번 작동

cluster_rows = TRUE, 
clustering_distance_rows = "correlation" 

, 당신은 코드에 파고 경우에 당신이 그것을 수행하는 cluster_mat을 요구 것을 볼 수 있습니다 이 :

cluster_mat = function(mat, distance, method){ 
... 
    if(distance[1] == "correlation"){ 
     d = as.dist(1 - cor(t(mat))) 
    } 
... 

자세한 내용은 official document입니다. 그 주위에 너무 많은 패키지가 있습니다 :