Я пытаюсь построить дендрограмму из hclust
объекта с ggtree
, но продолжаю получать одно и то же сообщение об ошибке:
Error: `data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class hclust
Я интенсивно искал решение, но не нашел ни одного , Кроме того, я узнал, что ggtree
поддерживает hclust
объектов, что еще больше смутило меня. С здесь :
Пакет ggtree поддерживает большинство объектов иерархической кластеризации, определенных в сообществе R, включая hclust
и dendrogram
, а также agnes
, diana
и twins
, которые определены в кластерном пакете.
Я позаимствовал воспроизводимый пример из приведенной выше ссылки:
hc <- hclust(dist(mtcars))
p <- ggtree(hc, linetype='dashed')
Что, опять же, дает мне вышеупомянутое ошибка. Если я использую rlang::last_error()
, чтобы получить немного контекста, я получаю:
<error/rlang_error>
`data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class hclust
Backtrace:
1. ggtree::ggtree(hc, linetype = "dashed")
3. ggplot2:::ggplot.default(...)
5. ggplot2:::fortify.default(data, ...)
И если я использую rlang :: last_trace (), чтобы получить немного дополнительной информации:
<error/rlang_error>
`data` must be a data frame, or other object coercible by `fortify()`, not an S3 object with class hclust
Backtrace:
x
1. \-ggtree::ggtree(hc, linetype = "dashed")
2. +-ggplot2::ggplot(...)
3. \-ggplot2:::ggplot.default(...)
4. +-ggplot2::fortify(data, ...)
5. \-ggplot2:::fortify.default(data, ...)
Но я действительно вижу, что не так ...