2017-04-07 12 views
0

R에 pairwise correlations의 lower triangleheatmap을 생성하려고합니다.낮은 삼각형 상관 관계 히트 맵

getUpperTri <- function(cor.mat){ 
    cor.mat[lower.tri(cor.mat)] <- NA 
    return(cor.mat) 
} 

reorderCormat <- function(cor.mat){ 
    dist.mat <- as.dist((1-cor.mat)/2) 
    hc <- hclust(dist.mat) 
    cor.mat <-cor.mat[hc$order,hc$order] 
} 
cor.df <- reshape2::melt(getUpperTri(reorderCormat(cor(mat))),na.rm=TRUE,value.name="correlation",varnames=c("sample1","sample2")) 

그리고 ggplotheatmap 코드는 다음과 같습니다 :

require(ggplot2) 
ggplot(cor.mat.df,aes(sample2,sample1,fill=correlation))+geom_tile(color="white")+scale_fill_gradient2(low="blue",high="red",mid="white",midpoint=0,limit=c(-1,1),space="Lab",name="Pearson\nCorrelation")+theme_bw()+theme(axis.text.x=element_text(angle=45,vjust=1,size=10,hjust=1))+coord_fixed()+labs(x="",y="") 

나에게 제공합니다

set.seed(1) 
mat <- matrix(rnorm(6*10),ncol=6,nrow=10) 
colnames(mat) <- c("s.-.+.1","s.-.+.2","s.-.+.3","s.+.-.1","s.+.-.2","s.+.-.3") 

여기에 내가 노력하고있어 코드입니다 :

여기

는 데이터의

enter image description here

그래서 색이있는 요소는 아래쪽 삼각형에 국한되지 않고 전면에 흩어져 있습니다.

어떤 문제인지 알아 보겠습니다.

+0

작동하는 것 같다 . ggplot 함수에서 잘못된 변수를 사용했다고 생각합니다. cor.mat.df는 cor.df 여야합니다. – thc

답변

1

글쎄, 난 당신의 스크립트를 재현이 그냥

ggplot(cor.df, aes(sample2, sample1, fill=correlation))+ 
    geom_tile(color="white")+ 
    scale_fill_gradient2(low="blue", high="red", mid="white", midpoint=0, limit=c(-1,1), space="Lab", name="Pearson\nCorrelation")+ 
    theme_bw()+ 
    theme(axis.text.x=element_text(angle=45, vjust=1, size=10, hjust=1))+ 
    coord_fixed()+ 
    labs(x="",y="") 

내 sessionInfo에 의해

ggplot(cor.mat.df ,aes(sample2, sample1, fill=correlation))+ 
    geom_tile(color="white")+ 
    scale_fill_gradient2(low="blue", high="red", mid="white", midpoint=0, limit=c(-1,1), space="Lab", name="Pearson\nCorrelation")+ 
    theme_bw()+ 
    theme(axis.text.x=element_text(angle=45,vjust=1,size=10,hjust=1))+ 
    coord_fixed()+ 
    labs(x="",y="") 

을 변경 내 음모 plot

입니다 :

R version 3.3.2 (2016-10-31) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=Spanish_Colombia.1252 LC_CTYPE=Spanish_Colombia.1252 
[3] LC_MONETARY=Spanish_Colombia.1252 LC_NUMERIC=C      
[5] LC_TIME=Spanish_Colombia.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] ggplot2_2.2.1 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.8  digest_0.6.11 assertthat_0.1 grid_3.3.2  plyr_1.8.4  
[6] gtable_0.2.0  magrittr_1.5  scales_0.4.1  stringi_1.1.2 reshape2_1.4.2 
[11] lazyeval_0.2.0 labeling_0.3  tools_3.3.2  stringr_1.1.0 munsell_0.4.3 
[16] colorspace_1.3-2 tibble_1.2