使用 heatmaply 的热图和树状图的问题。 R
Problems with a heat map and dendogram using heatmaply. R
我有兴趣使用 10 组之间的相似性百分比作为距离测量来获得带有树状图的热图。
数据结构如下:
af.w<-c(0,24.7,20.4,46.8,17.3,30,60.6,62.1,57.9,31.3)
af.g<-c(24.2,0,21.0,48.7,19.0,30.9,60.6,63.6,60.4,31.8)
af.e<-c(20.8,21.8,0,41.7,14.9,23.6,58.6,63.2,57.3,27.6)
af.h<-c(29.5,31.6,21.5,0,28.2,26.3,49.9,56.8,49.1,36.1)
af.s<-c(37.8,39.4,35.5,58.4,0,33.1,68.5,71.9,68.0, 47.7)
af.k<-c(61.8,61.8,56.8,69.3,51.3,0,75.6,78.9,74.8,64.0)
eu<-c(25.8,25.4,19.4,28.4,20.4,20,0,39.1,16.8,29.1)
asi<-c(18.5,21.3,18.5,29.0,20.0,18.6,28.8,0,24.0,22.0)
mi.ha<-c(27.4,31.6,23.9,32.7,25.8,23.1,23.9,40.5,0,30.9)
mi.aa<-c(20.6,19.7,15.1,44.1,18.7,23.6,56.3,58.6,54.2,0)
data<-cbind(af.w,af.g,af.e,af.h,af.s,af.k,eu,asi,mi.ha,mi.aa)
rownames(data)<-c("af.w","af.e","af.g","af.h","af.s","af.k","eu","asi","mi.ha","mi.aa")
data<-(100-data)
成对比较的百分比在对角线两侧不相等。这是因为这些相似性百分比是通过比较不同规模的群体获得的。基本原理如下:两个给定种群(A 组 N=250,B 组 N=500)中有一定数量的元素,它们共享这些元素中的 80 个。在这种情况下,A 和 B 之间的相似度比例为 32%,但 B 和 A 之间的相似度比例为 16%。
使用包 heatmaply 和下面的脚本我可以得到这个图:
heatmaply(data.2, margins = c(40, 130),
seriate = "OLO")
如您所见,x 轴上有两个人口互换(af.g 和 af.e)。我相信这是因为使用此配置构建上部树状图更加容易。但是我想得到这个图,对角线正确对齐,必要时忽略上部树状图。
这是一个可能的解决方案:
heatmaply(data, margins = c(40, 130), Colv="Rowv", seriate = "OLO")
我有兴趣使用 10 组之间的相似性百分比作为距离测量来获得带有树状图的热图。
数据结构如下:
af.w<-c(0,24.7,20.4,46.8,17.3,30,60.6,62.1,57.9,31.3)
af.g<-c(24.2,0,21.0,48.7,19.0,30.9,60.6,63.6,60.4,31.8)
af.e<-c(20.8,21.8,0,41.7,14.9,23.6,58.6,63.2,57.3,27.6)
af.h<-c(29.5,31.6,21.5,0,28.2,26.3,49.9,56.8,49.1,36.1)
af.s<-c(37.8,39.4,35.5,58.4,0,33.1,68.5,71.9,68.0, 47.7)
af.k<-c(61.8,61.8,56.8,69.3,51.3,0,75.6,78.9,74.8,64.0)
eu<-c(25.8,25.4,19.4,28.4,20.4,20,0,39.1,16.8,29.1)
asi<-c(18.5,21.3,18.5,29.0,20.0,18.6,28.8,0,24.0,22.0)
mi.ha<-c(27.4,31.6,23.9,32.7,25.8,23.1,23.9,40.5,0,30.9)
mi.aa<-c(20.6,19.7,15.1,44.1,18.7,23.6,56.3,58.6,54.2,0)
data<-cbind(af.w,af.g,af.e,af.h,af.s,af.k,eu,asi,mi.ha,mi.aa)
rownames(data)<-c("af.w","af.e","af.g","af.h","af.s","af.k","eu","asi","mi.ha","mi.aa")
data<-(100-data)
成对比较的百分比在对角线两侧不相等。这是因为这些相似性百分比是通过比较不同规模的群体获得的。基本原理如下:两个给定种群(A 组 N=250,B 组 N=500)中有一定数量的元素,它们共享这些元素中的 80 个。在这种情况下,A 和 B 之间的相似度比例为 32%,但 B 和 A 之间的相似度比例为 16%。
使用包 heatmaply 和下面的脚本我可以得到这个图:
heatmaply(data.2, margins = c(40, 130),
seriate = "OLO")
如您所见,x 轴上有两个人口互换(af.g 和 af.e)。我相信这是因为使用此配置构建上部树状图更加容易。但是我想得到这个图,对角线正确对齐,必要时忽略上部树状图。
这是一个可能的解决方案:
heatmaply(data, margins = c(40, 130), Colv="Rowv", seriate = "OLO")