我得到了一张树状图作为图像。由于它不是很大,因此可以“手动”将其构造为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)