У меня есть dendrogram
:Вырезать дендрограммы
set.seed(10)
mat <- matrix(rnorm(20*10),nrow=20,ncol=10)
dend <- as.dendrogram(hclust(dist(mat)))
И учитывая глубину среза:
я хотел бы отрезать все ветви, которые находятся справа от этого среза.
depth.cutoff <- 4.75
Я хотел бы отрезать все ветви справа от пунктирной линии:
plot(dend,horiz = TRUE)
abline(v=depth.cutoff,col="red",lty=2)
И в конечном итоге с этим dendrogram
:
Ближайший я получил, был usin g ape
drop.tip
, но проблема в том, что мой depth.cutoff
включает в себя все листья, как в этом примере, он возвращает NULL
.
Может быть кто-нибудь знает, если и как я могу удалить элементы из nested list
, который представляет мой dendrogram
, если их depth
ниже depth.cutoff
?
В качестве альтернативы, возможно, я могу преобразовать dendrogram
к data.frame
, который также перечисляет depth
каждого node
(в том числе листьев, которые будут иметь depth
= 0), удалить все строки с depth
<
depth.cutoff
из этого data.frame
, а затем преобразовать, что вернуться к dendrogram
?
спасибо @SymbolixAU. Вы знаете, есть ли способ, чтобы все ветви заканчивались на одной линии? Не в сюжете, а в объекте dend? – dan