问题标签 [pvclust]

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 投票
2 回答
1811 浏览

r - 在 R 中使用 pvclust 进行聚类分析

我想对某些列(变量)进行聚类分析,比如 var 5-var10。对于我pvclust在 R 中使用的内容。现在,我想将这一列集群添加到实际的数据框中。谁能帮我解决这个问题。我使用的代码如下:

0 投票
2 回答
7061 浏览

r - R将名称转换为数字

我有一个包含捐赠和捐赠者姓名的数据框。

我正在尝试使用该pvclust软件包进行一些聚类。不幸的是,该软件包似乎没有采用非数字数据。

我有两个问题。

1)是否有另一种包或方法可以做得更好?

2)有没有办法“规范化”捐赠者名单?即获取唯一捐助者姓名的列表,为每个人分配一个 ID 号,然后将 ID 号插入数据框中以代替角色名称。

0 投票
3 回答
3005 浏览

r - 将 pvclust R 函数应用于预先计算的 dist 对象

我正在使用 R 来执行层次聚类。作为第一种方法,我使用hclust并执行了以下步骤:

  1. 我导入了距离矩阵
  2. 我使用该as.dist函数将其转换为dist对象
  3. hclustdist物体上奔跑

这是R代码:

在这一点上,我想对函数做一些类似的事情pvclust;但是,我不能,因为不可能传递预先计算的dist对象。考虑到我使用的距离在 R 函数提供的距离中不可用,我该如何继续dist

0 投票
1 回答
1477 浏览

r - pvclust 上 hclust 生成的树状图

我有兴趣使用 pvclust R 包来确定我使用 R 中的常规层次聚类 hclust 函数生成的集群的重要性。我有一个数据矩阵,其中包含约 8000 个基因及其在 4 个发育时间点的表达值。下面的代码显示了我用来对数据执行常规层次聚类的方法。我的第一个问题是:有没有办法获取 hr.dendrogram 图并将其应用于 pvclust?其次,pvclust 似乎对列进行了聚类,并且它似乎更适合跨列而不是像我想要的行进行比较的数据(我已经看到了许多使用 pvclust 对样本而不是基因进行聚类的例子)。有没有人以与我想做的类似的方式使用 pvclust?我的常规层次聚类的简单代码如下:

我很感激这方面的任何帮助!

0 投票
1 回答
800 浏览

r - 使用 pvclust 对一维数据进行聚类

感谢您花时间阅读这个问题。我有一些一维数据要在 R 中进行聚类。基本hclust命令可以正常工作。但是,该pvclust命令并没有采用一维数据,并且一直在说:

我找到了一种解决方法,即在数据中添加了一些全零行。于是数据变成:

然后我跑了pvclust,它成功了!

但我担心这种变通方法会破坏 pvclust 背后的数学原理。谁能告诉我我是对还是错,以及我的问题是否有更好的解决方案?

谢谢!

0 投票
2 回答
391 浏览

r - Cluster analysis in R: How can I get deterministic results from pvclust?

pvclust is great for cluster analysis in R. However, when running it as part of a batch operation, it is annoying to get different results for the same data. Obviously, there are many "correct" clusterings of the same data, and it seems that pvclust uses some randomness to determine the clusters of a specific run. But is there any way to get deterministic results?

I want to be able to present a minimal, repeatable analysis package: the data plus an R script, and a separate written document that contains my interpretations of the clustering. It is then possible for others to add to the analysis, e.g. by changing the aesthetic appearance of plots. Now, the interpretations will always be out of sync with what someone else gets when they run the script containing pvclust.

0 投票
1 回答
3086 浏览

r - 如何在 R 中以 NEWICK 格式附加集群(树)节点的引导值

我想使用基于网络的交互式生命之树工具(iTOL)制作一棵树(集群)。作为输入文件(或字符串),此工具使用Newick 格式,这是一种使用括号和逗号表示具有边长的图论树的方法。除此之外,可能还支持其他信息,例如集群节点的引导值

例如,在这里我使用包创建了用于聚类分析的数据集:clusterGeneration

之后,我执行了集群分析,并使用包通过引导程序评估了对集群节点的支持:pvclust

这是集群和引导值: 集群和引导值

为了制作 Newick 文件,我使用了ape包:

write.tree函数将以 Newick 格式打印树:

((x2:0.45,x6:0.45):0.043,((x7:0.26,(x4:0.14,(x1:0.14,x3:0.14):0.0064):0.12):0.22,(x5:0.28,x8:0.28 ):0.2):0.011);

这些数字代表分支长度(集群的边缘长度)。按照iTOL 帮助页面(“上传和使用您自己的树”部分)的说明,我将引导值手动添加到我的 Newick 文件中(下面的粗体值):

((x2:0.45,x6:0.45) 74 :0.043,((x7:0.26,(x4:0.14,(x1:0.14,x3:0.14) 55 :0.0064) 68 :0.12) 100 :0.22,(x5:0.28 ,x8:0.28) 100 :0.2) 63 :0.011);

当我将字符串上传到 iTOL 时,它工作正常。但是,我有一个巨大的集群,手工操作似乎很乏味......

问题:什么是可以执行它而不是手动输入的代码?

引导值可以通过以下方式获得:

用于形成 Newick 文件的分支长度可以通过以下方式获得:

write.tree我试图在调试后弄清楚函数是如何工作的。但是,我注意到它在内部调用函数.write.tree2,我无法理解如何有效地更改原始代码并在 Newick 文件中的适当位置获取引导值。

欢迎任何建议。

0 投票
0 回答
1370 浏览

r - 从 pvclust 中提取重要的子树/集群,保持其层次结构

以下 R 代码通过波士顿数据集中的多尺度引导重采样生成层次聚类。

在此处输入图像描述

最后,clusters$clusters列出来自重要集群的元素:

有没有办法提取这些相同的项目而不丢掉它们的层次结构?例如保持他们的边缘顺序,如:

或者类似的东西?提前致谢。

0 投票
1 回答
461 浏览

sequence - 引导自己构建的函数 pvclust 不起作用

我正在使用序列分析方法来测量不同“空间使用序列”之间的相似性,表示为字符串。这是一个针对两个序列的三个类别(A:城市,B:农业,C:山)的理论示例:

我们用来衡量序列之间相似性的距离度量是汉明距离(即衡量序列中的一个字符需要被替换的频率以使序列相等,在上面的示例中,需要替换4 个字符使序列相等)。根据我们在计算汉明距离后获得的距离矩阵(给出每对可能的序列的距离或相异性),使用 Ward 的聚类方法(ward.D2)创建了一个树状图。

现在我还想包括一个很好的集群稳健性度量,以便识别相关集群。为此,我尝试使用 pvclust ,它包含多种计算引导值的方法,但仅限于一些距离度量。在未发布的 pvclust 版本中,我尝试实现正确的距离度量(即汉明距离),并尝试创建自举树。脚本正在运行,但结果不正确。使用 1000 的 nboot 应用于我的数据集,“bp”值接近 0,所有其他值“au”、“se.au”、“se.bp”、“v”、“c”、“pchi”为 0,表明这些集群是人工制品。

这里我提供一个示例脚本:

数据涉及非常同质的模拟序列(例如,继续使用 1 个特定状态),因此每个集群肯定是重要的。我将靴子的数量限制为只有 10 个以限制计算时间。

为了做这个分析,我使用了 R 包 pvclust 的未发布版本,它允许使用你自己的距离方法(在这种情况下:汉明)。有人知道如何解决这个问题吗?

0 投票
0 回答
989 浏览

r - 在 R 中使用带有 pvclust 的“ward”方法

我正在使用pvclustR 中的包来获取具有 p 值的层次聚类树状图。

我想使用“Ward”聚类和“Euclidean”距离方法。使用hclust. 但是pvclust,我不断收到错误消息“无效的聚类方法”。该问题显然是由“病房”方法引起的,因为“平均”等其他方法可以正常工作,“欧几里得”本身也可以。

这是我的语法和产生的错误消息:

我的数据矩阵具有以下形式(28 个国家 x 20 个政策维度):

我尝试将“病房”与包提供的pvclust数据集lung(?BostonMASSpvclust