我想问一下如何使用 R 中的加权 UniFrac 或 Bray-Curtis 方法计算组之间的距离。我已经使用 UniFrac 方法得到了每个样本之间的距离。
library("phyloseq")
require(GUniFrac)
require(vegan)
require(ade4)
otu.tab <- t(otu_table(phy))
treefile <- phy_tree(phy)
# calculate the UniFracs
unifracs <- GUniFrac(otu.tab, treefile, alpha = c(0, 0.5, 1))$unifracs
# create
d5 <- unifracs[, , "d_0.5"] # GUniFrac with alpha 0.5
距离结果表为:
> d5
SamA_1 SamA_2 SamB_1 SamB_2 SamC_1 SamC_2
SamA_1 0.0000000 0.3939102 0.3972185 0.3846277 0.4052247 0.4187168
SamA_2 0.3939102 0.0000000 0.2986860 0.3003682 0.3384096 0.3475723
SamB_1 0.3972185 0.2986860 0.0000000 0.3549342 0.2997557 0.3457747
SamB_2 0.3846277 0.3003682 0.3549342 0.0000000 0.3378881 0.3529470
SamC_1 0.4052247 0.3384096 0.2997557 0.3378881 0.0000000 0.3828705
SamC_2 0.4187168 0.3475723 0.3457747 0.3529470 0.3828705 0.0000000
> sample_data(phy)
Treat Groups
SamA_1 CON A
SamA_2 CON A
SamB_1 Treat B
SamB_2 Treat B
SamC_1 Treat C
SamC_2 Treat C
我想计算 A、B 和 C 组之间的距离,最终我想要一个距离表,例如“d5”。
哪个函数适合获得 R 中组之间的计算距离表?