我有混合数据类型,其中包含我计划应用集群算法的数字和分类属性。
作为第一步,我使用 daisy() 函数和 Gower 距离度量生成了一个距离矩阵。我在 R 中使用热图和 levelplot 函数显示了距离矩阵。
似乎我的数据中的某些对象之间存在很强的相似性,我想检查一些相似/不同的对象,以使自己确信该度量在我的数据上运行良好。
如何从热图中选择相似/不同的对象并将它们链接到原始数据集以便能够评估它们?
这就是我使用 R 绘制热图的方式。IDX 是我的距离矩阵。
new.palette=colorRampPalette(c("black","yellow","#007FFF","white"),space="rgb")
levelplot(IDX_as[1:ncol(IDX_as),ncol(IDX_as):1],col.regions=new.palette(20))
quartz(width=7,height=6) #make a new quartz window of a given size
par(mar=c(2,3,2,1)) #set the margins of the figures to be smaller than default
layout(matrix(c(1,2),1,2,byrow=TRUE),widths=c(7,1)) #set the layout of the quartz window. This will create two plotting regions, with width ratio of 7 to 1
image(IDX_as[1:ncol(IDX_as),ncol(IDX_as):1],col=new.palette(20),xaxt="n",yaxt="n") #plot a heat map matrix with no tick marks or axis labels
axis(1,at=seq(0,1,length=20),labels=rep("",20)) #draw in tick marks
axis(2,at=seq(0,1,length=20),labels=rep("",20))
#adding a color legend
s=seq(min(IDX_as),max(IDX_as),length=20) #20 values between minimum and maximum values of m
l=matrix(s,ncol=length(s),byrow=TRUE) #coerce it into a horizontal matrix
image(y=s,z=l,col=new.palette(20),ylim=c(min(IDX),max(IDX)),xaxt="n",las=1) #plot a one-column heat map
heatmap(IDX_as,symm=TRUE,col=new.palette(20))