使用为多个样本记录的物种丰度数据,我想创建一个树状图,其中分支代表样本的相似性.距离度量应为Bray-Curtis-相似性.对于每个 node ,我希望通过自举获得表示 solidity 的p值.来自R包pvclust的函数pvclust()似乎适合于该问题.不幸的是,在pvclust中,Bray-Curtis-Simility并不是作为距离度量实现的.但是,可以将返回dist对象的函数传递给pvclustmethod.dist参数.vegan个套餐中的vegdist个看起来很合适.

按照答案中的方法,我在这里找到:Error when using ''ward'' method with pvclust R package,我目前的方法如下(使用包vegan中的沙丘数据集):

# load libraries
library(vegan)
library(pvclust)

# load example data
data(dune)

# run pvclust
pv_result <- pvclust(dune,
                     method.hclust = "ward.D",
                     method.dist = function(x){vegan::vegdist(x, "bray")},
                     n = 1000,
                     parallel = TRUE)

# plot result
plot(pv_result)

这将返回以下树状图:

enter image description here

P值的计算似乎不起作用,因为它们对于所有 node 都是0.我正在寻找一种计算p值的方法.此外,使用pvclust的替代品的方法也是受欢迎的.

推荐答案

函数pvclust似乎调换了输入数据并计算列(变量)而不是行(观察值)的聚类.这意味着您还需要转置method.dist函数中的输入.此外,如果您希望对行进行聚集,则必须通过转置输入来undo撤消转置.您应该将您的呼叫修改为:

library(pvclust)
library(vegan)
data(dune)
pvclust(t(dune), # to cluster rows - omit t() to cluster columns
   method.dist = function(x) vegan::vegdist(t(x), "bray"), 
   n = 1000) # and other arguments you need

注意,在所有情况下,vegdist呼叫中都需要t(x).

R相关问答推荐

使用sensemakr和fixest feols模型(R)

基于shiny 应用程序中的日期范围子集xts索引

以R中的正确顺序将日期时间字符列转换为posixct

pickerInput用于显示一条或多条geom_hline,这些线在图中具有不同 colored颜色

lightgbm发动机在tidymmodels中的L1正则化""

如何改变x轴比例的列在面

从BRM预测价值

如何在观测缺失的地方添加零

在RStudio中堆叠条形图和折线图

SHINY:使用JS函数应用的CSS样式显示HTML表格

哪一行和行和 Select 特定行,但是考虑到Nas

具有重复元素的维恩图

以不同于绘图中元素的方式对GG图图例进行排序

在R中的数据框上使用Apply()函数时,如何保留非数字列?

R预测包如何处理ARIMA(Auto.arima函数)中的缺失值

将数据从一列转换为按组累计计数的单个虚拟变量

位置_道奇在geom_point图中不躲避

将每晚的平均值与每晚的值进行比较,统计是否有效?

如何修复geom_rect中的层错误?

如何将数据框压缩为更宽,同时将行输入保持为行输入,而不是R中的列名?