考虑以下数据集:
fictional.df <- data.frame(L1 = c(0,0,0,0,0,0,0,0),
L2 = c(0,1,0,0,0,1,1,0),
L3 = c(1,1,0,1,1,1,1,1),
L4=c(0,0,1,1,0,0,0,0))
我将其转换为一个phyDat
对象,然后创建了一个成对距离矩阵,如下所示:
fictional.phydat <- as.phyDat(fictional.df,
type="USER",levels=c("1","0"),
names=names(fictional.df))
fictional.hamming <- dist.hamming(fictional.phydat)
然后根据这个距离矩阵,我估计了一个 UPGMA 树:
fictional.upgma <- upgma(fictional.hamming)
然后我创建了引导数据集:
set.seed(187)
fictional.upgma.bs <- bootstrap.phyDat(fictional.phydat, FUN =
function(xx) upgma(dist.hamming(xx)), bs=100)
然后我计算了引导集中分区的比例:
upgma.bs.part <- prop.part(fictional.upgma.bs)
到目前为止,一切都很好。这是我希望得到一些帮助的地方。当我调用函数prop.clades
时,我不明白结果:
prop.clades(fictional.upgma,fictional.upgma.bs)
[1] 100 NA 71
为什么NA
当引导树集中有该进化枝的证据时,此函数会返回?
第二个问题:
prop.clades(fictional.upgma,part=upgma.bs.part)
[1] 100 49 112
如果只有 100 个引导样本,为什么最终进化枝的值是112
?