在R中,如何在对数据进行聚类后绘制相似性矩阵(如框图)?

| 我想生成一个图表,显示聚类数据和相似性矩阵之间的相关性。 我如何在R中做到这一点? R中是否有任何功能可以在此链接中创建类似于图片的图形? http://bp0.blogger.com/_VCI4AaOLs-A/SG5H_jm-f8I/AAAAAAAAAJQ/TeLzUEWbb08/s400/Similarity.gif(只是在Google上搜索并获得了显示我要生成的图形的链接) 提前致谢。     
已邀请:
@Chase和@ bill_080的注释中建议的一般解决方案需要进行一些增强,以(部分)满足OP的需求。 一个可重现的示例:
require(MASS)
set.seed(1)
dat <- data.frame(mvrnorm(100, mu = c(2,6,3), 
                          Sigma = matrix(c(10,   2,   4,
                                            2,   3, 0.5,
                                            4, 0.5,   2), ncol = 3)))
使用Eucildean距离计算标准化数据的相异矩阵
dij <- dist(scale(dat, center = TRUE, scale = TRUE))
然后使用群组平均法计算这些数据的层次聚类
clust <- hclust(dij, method = \"average\")
接下来,我们根据树状图形成三个(\'k \')组来计算样本的排序,但是我们可以在这里选择其他内容。
ord <- order(cutree(clust, k = 3))
接下来,根据树状图(共生距离)计算样本之间的差异:
coph <- cophenetic(clust)
以下是3个图像图: 根据聚类分析分组排序的原始差异矩阵, 间隔距离,再次如上排序 原始相异点和共距之间的差异 类似于Shepard的图,比较了原始距离和共同距离。捕获原始距离的聚类越好,这些点将越靠近1:1线 这是产生以上曲线的代码
layout(matrix(1:4, ncol = 2))
image(as.matrix(dij)[ord, ord], main = \"Original distances\")
image(as.matrix(coph)[ord, ord], main = \"Cophenetic distances\")
image((as.matrix(coph) - as.matrix(dij))[ord, ord], 
      main = \"Cophenetic - Original\")
plot(coph ~ dij, ylab = \"Cophenetic distances\", xlab = \"Original distances\",
     main = \"Shepard Plot\")
abline(0,1, col = \"red\")
box()
layout(1)
会在活动设备上生成此消息: 综上所述,只有Shepard图显示了“聚类数据和[非相似度矩阵之间的相关性”,而不是图像图(水平图)。对于提议的同位异同和原始[dis]相似性的所有成对比较,您如何建议计算两个数字之间的相关性?     

要回复问题请先登录注册