Рассмотрим следующий набор данных:
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
?