问题标签 [hclust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1205 浏览

r - R中的旋转树状图x轴标签

我给出了hclust帮助提供的示例数据:

当您绘制此图时,站点标签是垂直的 - 这适用于此示例,因为它们使用长名称。但是,我的数据被简单地标记为A1,A2等,当我绘制图表时,看起来没有必要进行垂直标记。

我知道对于垂直树状图,las=2和 也srt = 90可以旋转 y 轴标签 text(),但这似乎不会影响该hclust图中的标签。

如何将此图的站点标签旋转为水平?

谢谢

0 投票
1 回答
916 浏览

r - dendextend:color_branches 不适用于某些 hclust 方法

我正在使用 R dendextend 包来绘制由 hclust{stats} 中的每个 hclust 方法生成的 hclust 树对象:“ward.D”、“ward.D2”、“single”、“complete”、“average”(= UPGMA), “mcquitty”(= WPGMA)、“中值”(= WPGMC)或“质心”(= UPGMC)。

当我使用方法 =“中值”或“质心”时,我注意到 color_branches 的颜色编码失败。

我用随机生成的矩阵对其进行了测试,并为“中值”和“质心”方法复制了错误,这有什么具体原因吗?

请参阅输出图的链接:图 1。hclust 方法 (a) ward.D2, (b) 中位数, (c) 质心

我正在使用dendextend_1.4.0。会话信息如下:

谢谢。

0 投票
1 回答
1160 浏览

r - 使用平均链接的“hclust”和“agnes”的不同结果

我正在将一个简单的聚类过程应用于自定义模拟相似度矩阵。(https://github.com/ewouddt/Files/blob/master/sim_col.RData

但是,我注意到使用平均链接hclust时和agnes过程之间存在差异(注意:我也观察到完整链接的相同行为)

正如预期的那样,由于 和 的顺序不同,树状图看起来hclust不同agnes。然而,切割标签(k=20例如)显示不同(尽管相似)的观察结果。(例如,您可以看到两个结果之间的标签数量不同)

我是在犯一个愚蠢的错误,还是hclustagnes应该在砍树后返回完全相同的结果?如果这两个过程不应该返回相同的结果,那么这两个函数的区别在哪里?

0 投票
1 回答
651 浏览

r - 有没有办法在热图中保留聚类但减少观察次数?

我有跨 20 列的 90 个观察值(行)的数据集。我已经生成了一个非常简洁的热图,它使用包 pheatmap 将我的数据分为两组。虽然它并不完全干净,但根据我的条件,这两个树状图簇几乎将我的样本分为 2 个不同的组。现在我想将这组 90 减少到更严格的 20-30 观察组左右,但仍希望保留与中所示相同的聚类顺序pheatmap。有没有办法做到这一点?或任何其他将我的观察结果减少到最小集的软件包,该集仍可以通过聚类顺序保留,如现在所见?的代码pheatmap

R 中我遗漏的任何包都可以处理此类甚至某些内容,pheatmap我可以将其用作减少变量的函数并进行一种置换测试以找到仍然可以保留我的聚类的最小观察集

数据是患者的行中的基因和列中的表达。

0 投票
1 回答
802 浏览

r - 获取集群层次结构和嵌套集群分配

我目前正在研究文档主题中的层次结构。作为第一步,我找到了我的文档的向量表示,之后我使用层次聚类来确定文档的主题中是否存在主题。我只想考虑至少包含 2% 原始数据的(嵌套)集群。为了实现这一点,我正在使用 R。

现在,我正在努力从聚类结果中有效地提取聚类层次结构。集群是通过“fastcluster”包完成的,它提供了与原始“hclust”函数相似的结果。

我的最终输出应该是这样的;会有两张桌子

集群分配:

集群层次结构:

如您所见,观察 3,4 和 5 在集群分配表中多次出现,其中一个集群是其父集群的子集群。这可以在层次结构表中看到。

我目前的方法是使用“Dendextend”包中的 cutree.dendogram 函数来查找 k 值网格的集群分配,然后从输出中推断出集群层次结构和分配。然而,这种方法非常幼稚,并且对于大量的观察和集群来说变得非常缓慢。

关于如何有效解决这个问题的建议,最好是使用一些现成的包,将不胜感激。

编辑:考虑以下示例,对应于示例输出数据:

如果我们在高度 6 处切割树,我们将获得 2 个簇,在输出中命名为 A 和 B。但是,如果我们在高度为 4 处切割树,我们将在输出中有 3 个簇,分别命名为 A、C 和 D。例如,现在 docID 为 3 的观测值在集群 B 和集群 C 中(取决于我们切割树的高度),这对应于样本输出集群分配中的两个条目。集群 B 分为两个集群 C 和 D,这可以在集群 Hierachy 输出中看到。

现在我的目标是获取集群分配和层次结构的完整列表,向下移动树状图。(最好在(子)集群中的观察数量少于一定数量的观察时停止)

直到现在我还没有想出一个合理有效的方法来做到这一点,希望任何人都可以给我一个想法。

0 投票
1 回答
66 浏览

r - 在 r 中预定义集群

我有一个非常大的数据表(大约 100.000 个观察值),我想将其用于聚类。由于某些数据是分类数据,我尝试使用“gower distance”,然后使用“ward”方法使用 hclust()。数据本身非常异构,这就是为什么我想对数据进行“预聚类”,然后进行实际的聚类分析。你们有没有人这样做过并且可以指出我正确的方向?我现在不知所措:(使用上述方法,我并没有真正得到有用的集群。谢谢大家,我非常感谢我能得到的每一个提示。

编辑:我认为我并没有真正正确地解释我的问题,所以这是另一个尝试:假设我有一个包含汽车品牌及其一些功能的数据集。在按功能对它们进行聚类之前,我想按品牌对它们进行预聚类。所以所有的宝马,例如都在同一个集群中等等..只有在那之后我才想按特征进行集群,所以我应该得到一个有快车等的集群。有人知道,如何在 R 中做到这一点?这没有描述我的数据集,但也许我现在遇到的问题更清楚了。

0 投票
1 回答
2492 浏览

r - NbClust 中的错误:没有足够的对象进行聚类

我正在尝试使用 R 中的 NbClust 方法来确定集群分析中的最佳集群数量,遵循Manning书中的方法。但是,我收到一条错误消息:

hclust(md, method = "average") 中的错误:必须有 n >= 2 个对象才能聚类。

即使 hclust 方法似乎有效。因此,我认为问题是(错误消息也说明了这一点),NbClust 试图创建内部只有一个对象的组。

这是我的代码:

我在这里发现了类似的问题,但我无法调整代码。

0 投票
1 回答
72 浏览

r - 段(来自分段)和类(来自层次聚类)有什么区别

我正在使用 R 进行均值偏移分割!我现在有点困惑!我的第一个问题是如何对分割文件进行聚类(将每个段定义为一个超像素),第二个问题是如何定义我有多少对象和多少类!因为当我进行聚类时,一个类中有很多邻居段,所以我不能将它们算作多个段,它们是一个段?正确的?请有人帮忙!

提前致谢,

0 投票
1 回答
1004 浏览

r - 从 hclust 围绕集群绘制多边形

在此处输入图像描述我使用函数 hclust 进行了聚类,现在我想在每个聚类周围绘制多边形!

我该怎么做?我只有一组带有集群 id 的点!

例如,这张图片有两个类别和 4 个不同的区域!我怎样才能得到这些区域的数量?

0 投票
1 回答
59 浏览

r - 随机化中的关联行为

我正在使用 Rdendextend包,尝试将hclusts对象与cop_cophenetic.

我有两个从聚类中产生的对象:clustsclusts1,我想比较它们之间的共生相关性。我有以下几种选择:

我也可以尝试使用 base R 更直接的方法

首先,我不明白调用对象、调用树状图或 phylos之间cor_cophenetic的区别。这里有正确的方法吗?hclustscor_cophenetic

接下来,我尝试对clusts1.

虽然 dendros 上的 cophenetic 在随机化上有所不同(我得到了一个分布)。保持不变(0.689649)的直接共hclusts质 - 并且不会改变。为什么?