问题标签 [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 投票
1 回答
852 浏览

r - R中的层次聚类-'pvclust'问题

我做了一个可重现的例子,我遇到了 pvclust 的问题。我的目标是在层次聚类树状图中选择理想的聚类。我听说过“pvclust”,但不知道如何使用它。此外,如果有人有其他建议来确定理想的集群,那将非常有帮助。

提供了我的代码。

出现错误说明:

0 投票
0 回答
211 浏览

r - 在锁定的环境中重写一个函数

使用pvclust::pvclust,我得到一个错误

solve.default(crossprod(X, X/vv)) 中的错误:Lapack 例程 dgesv:系统完全是奇异的:U[2,2] = 0 调用:... pvclust.merge -> lapply -> FUN -> msfit -> 解决 -> 解决.default 执行停止

即使是奇异矩阵我也不想停止分析crossprod(X, X/vv),所以我尝试插入一个if {...}pvclust::msfit来检查是否crossprod(X, X/vv)是奇异矩阵,matrixcalc::is.singular.matrix如果是,则返回NA并继续。

保存my.msfit.Rmsfit后,其中 包含if(!is.singular.matrix(...)) {...}else{...}原始内容pvclust::msfit

方法::insertSource('/myFuncDir/my.msfit.R',package="pvclust",functions='msfit')

但我在下面收到错误

分配错误(this,thisObj,envir = envwhere):无法更改“msfit”的锁定绑定的值此外:警告消息:在方法中::insertSource(文件名,包=“pvclust”,功能=“msfit”,:无法插入这些(在源代码中找不到):“msfit”

有什么解决办法吗?我应该要求pvclust包的作者吗?

==下面是发帖后补充的==

评论中给出了使用 try/catch 语法的准确建议,但我认为它不会给我解决方案。

关于我糟糕的英语水平,我提供了一个玩具样本来说明情况。

因为那sum3将是一个错误,所以fun.a(1,2,3,'Char')返回error

但是,我想回来

列表 [sum1, sum2, NaN]

如果我使用tryCatch(...,error=expr), sum1 到 sum3( 实际上,solve(...)in pvclust::msfit) 应该被包装。但是,fun.a( msfit) 是锁定包( pvclust) 的内部函数。

0 投票
1 回答
975 浏览

r - 有人可以解释 R 中 pvclust 函数的输出吗?

在 R 的pvclust包中,有pvclust()函数。在函数帮助文件中提供的示例中,有函数:

这应该打印出具有高 p 值的集群。这个函数的输出是:

我很难理解输出的含义,特别是因为我在聚类分析方面的技术背景非常有限。特别是,我不明白每个集群下名称向量的含义。有人可以为我解释一下吗?谢谢!

0 投票
1 回答
166 浏览

r - 将列表转换为R中的命名向量

我使用 R 上的 pvclust 包进行了集群分析。我使用命令“pvpick”提取了生成的集群组件,得到了一个包含 8 个集群的列表。

对于我的下一个分析,我需要从这个列表中创建一个“命名向量”,就像你使用集群包的“cuttree”函数时得到的那样,每个物种名称(即“sco.plu”)作为名称与向量中对应的簇号。看起来像这样:

但我真的很难找到一种方法来做到这一点,并再次感觉到它可能有一个非常简单和优雅的解决方案。

0 投票
1 回答
1643 浏览

r - 将“病房”方法与 pvclust R 包一起使用时出错

我在尝试使用pvclust包进行集群分析时遇到了一些麻烦。

具体来说,我有一个由物种(行)和采样站(列)组成的数据矩阵。我想执行 CA 以便根据我的物种丰度(我之前已转换为 log(x+1))对我的采样站进行分组。

一旦充分准备好我的矩阵,我就尝试根据 pvclust 包运行 CA,使用 Ward 的聚类方法和 Bray-Curtis 作为距离索引。但是,每次我收到以下错误消息:

''hclust 中的错误(距离,方法 = method.hclust):无效的聚类方法''

然后我尝试使用另一种聚类方法执行相同的分析,我没有遇到任何问题。我还尝试使用vegan包中的 hclust 函数执行相同的分析,我也完全没有问题。分析运行没有任何问题。

为了更好地理解我的问题,我将显示我的部分矩阵和我用来执行分析的脚本:

其中 P1-P6 是我的采样站,最左边的行号是我的不同物种。我将这个示例矩阵表示为“平台”。

之后,我使用了以下代码行:

值得注意的是,我运行了前三个代码行,因为 bray-curtis 索引最初在 pvclust 包中不可用。因此,运行这些代码行允许我在 pvclust 函数中指定 bray-curtis 索引

有谁知道为什么它不适用于 pvclust 包?

任何帮助都感激不尽。

亲切的问候,

玛丽

0 投票
0 回答
132 浏览

similarity - 如何在 pvclust 中使用不同的距离方法(辛普森)

我正在尝试运行函数 pvclust,但使用 simpson 的不同之处而不是使用默认距离之一。我可以在 pvclust (method.dist) 中包含一个距离函数吗?我已经将我的辛普森相异 intex 作为 dist. 来自包 betapart 的对象,这就是我想在 pvclust 中使用的对象。

谢谢!

0 投票
1 回答
487 浏览

r - 使用“dendextend”在树状图中围绕指定标签绘制矩形

我目前正在构建一个树状图,我正在使用“dendextend”来调整它的外观。我已经能够做我想做的一切(标记叶子和突出显示我选择的集群的分支),除了在预定义的集群周围绘制矩形。

我的数据(可以来自此文件:Barra_IBS_example.matrix)与“pvclust”聚集在一起,因此“pvrect”将矩形绘制在正确的位置,但它会切割标签(见下图),所以我想重现它与“rect.dendrogram”,但是,我不知道如何告诉函数使用来自“pvclust”的聚类数据。

带 pvrect 的树状图

这是我正在使用的代码:

非常感谢,伊多

0 投票
2 回答
589 浏览

r - 在 R 中使用 pvclust 更改标签树状图

我正在尝试按照以下示例使用 pvclust 进行集群验证

这似乎工作正常。但是,如果我将结果可视化:

我无法看到 AU/BP 标签,因为它们被显示为树状图标签的列标题所覆盖。

树状图的图像

我尝试使用 dendextend 包来关闭标签,但我没有让它与 pvclust 输出结合使用(结果未显示)。有没有人有我可以使用的方法或包?也许有可能以某种方式放大和剪切图像?我也尝试了 RStudio 的放大功能,但我仍然无法正确看到 AU/BP 标签(参见上面的链接)。

0 投票
2 回答
853 浏览

r - 在 pvclust 树状图中旋转叶子标签

我正在使用 R 中的 pvclust 包来执行引导层次聚类。然后将输出绘制为具有一些额外特征(不同的默认标题,节点处的 p 值)的 hclust 对象。我已经附上了一个链接到这里的一个情节。

这个情节正是我想要的,除了我需要水平显示叶子标签而不是垂直显示。据我所知,在plot.hclust 中没有旋转叶子标签的选项。我可以将 hclust 对象绘制为树状图

(即plot(as.dendrogram(example$hclust), leaflab="textlike")代替plot(example)

但是叶子标签随后打印在我似乎无法删除的框中,并且 hclust 对象中节点的高度丢失了。我在这里附上了树状图的链接。

制作与标准输出尽可能相似plot.pvclust()但带有水平叶子标签的绘图的最佳方法是什么?

0 投票
0 回答
164 浏览

python - 无法在 python3.6(Jupyter notebook)中使用 rpy2 导入 pvclust

我在 anaconda 中使用 Jupyter notebook 并尝试使用 pvclust 对我的数据执行层次聚类。我的代码:

但我得到了错误:

看来我需要先安装pvclust?但是我正在使用由 anaconda 启动的 jupyter notebook (python3.6),我很困惑如何预装这样的 R 包,然后从 rpy2 导入?

PS 有没有可以使用 p 值执行层次聚类的 Python 包?我所需要的只是使用一些可以引导我的数据并使用 p 值对数据进行聚类的函数。

非常感谢。