我遇到了这个有趣的网站,想到了一种可视化聚类算法的方法,称为"Clustergram":
alt text http://www.schonlau.net/images/clustergramexample.gif
我不确定这是多么有用,但为了玩它我想用R重现它,但我不知道如何去做.
您如何为每个项目创建一条线,以便在不同数量的集群中保持一致?
以下是可用答案的示例代码/数据:
hc <- hclust(dist(USArrests), "ave")
plot(hc)
Run Code Online (Sandbox Code Playgroud) 我想用kmeans聚类一个矩阵,并能够将其绘制为热图.这听起来很微不足道,我看过很多像这样的情节.我试图google atround,但找不到绕道而行的方法.
我希望能够在这个图上绘制类似A或B的图.假设我有一个250行和5列的矩阵.我不希望对列进行聚类,只是对行进行聚类.
m = matrix(rnorm(25), 250, 5)
km = kmeans(m, 10)
Run Code Online (Sandbox Code Playgroud)
那么如何将这10个聚类作为热图进行绘制?您的评论和帮助非常受欢迎.
谢谢.

我正在解决集群问题,proxy R中的 软件包提供dist和simil函数.
为了我的目的,我需要一个距离矩阵,所以我最初使用dist,这是代码:
distanceMatrix <- dist(dfm[,-1], method='Pearson')
clusters <- hclust(distanceMatrix)
clusters$labels <- dfm[,1]#colnames(dfm)[-1]
plot(clusters, labels=clusters$labels)
Run Code Online (Sandbox Code Playgroud)
但在我绘制图像后,我发现聚类结果不是我预期的方式,因为我知道它应该是什么样子.
所以我尝试了simil,代码如下:
distanceMatrix <- simil(dfm[,-1], method='Pearson')
clusters <- hclust(pr_simil2dist(distanceMatrix))
clusters$labels <- dfm[,1]#colnames(dfm)[-1]
plot(clusters, labels=clusters$labels)
Run Code Online (Sandbox Code Playgroud)
此代码使用simil计算相似度矩阵,然后使用pr_simil2dist将其转换为距离矩阵,然后绘制它并得到我预期的结果!
我对dist和simil之间的关系感到困惑.根据文档中描述的关系,两个代码片段不应该有相同的结果吗?
我哪里错了?
编辑:
您可以使用以下值的dfm尝试我的代码,对不起的缩进很抱歉.
Blog china kids music yahoo want wrong
Gawker 0 1 0 0 7 0
Read/WriteWeb 2 0 1 3 1 1
WWdN: In Exile 0 2 4 0 0 0
ProBlogger Blog Tips 0 0 0 0 2 0
Seth's Blog 0 0 1 …Run Code Online (Sandbox Code Playgroud)