我得到了一张树状图作为图像。由于它不是很大,因此可以“手动”将其构造为R对象。

所以我的问题是,当我只有树状图图像时,如何手动创建树状图(或“ hclust”)对象?

我看到有一个名为“ as.dendrogram”的函数,但是我找不到如何使用它的示例。

(注:此帖子是根据我来自here的提问)

非常感谢,
塔尔

最佳答案

我认为您最好创建一个hclust对象,然后使用as.dendrogram将其转换为树状图,然后尝试直接创建树状图。查看?hclust帮助页面以查看hclust对象的元素的含义。

这是一个简单的示例,其中有四个叶子A,B,C和D,先组合A-B,再组合C-D,最后组合AB-CD:

a <- list()  # initialize empty object
# define merging pattern:
#    negative numbers are leaves,
#    positive are merged clusters (defined by row number in $merge)
a$merge <- matrix(c(-1, -2,
                    -3, -4,
                     1,  2), nc=2, byrow=TRUE )
a$height <- c(1, 1.5, 3)    # define merge heights
a$order <- 1:4              # order of leaves(trivial if hand-entered)
a$labels <- LETTERS[1:4]    # labels of leaves
class(a) <- "hclust"        # make it an hclust object
plot(a)                     # look at the result

#convert to a dendrogram object if needed
ad <- as.dendrogram(a)

09-18 03:41