3

既存の列を使用してデンドログラムの枝に色を付ける質問から、デンドログラムの葉の近くの枝に色を付けることができます。コード:

x<-1:100
dim(x)<-c(10,10)
set.seed(1)
groups<-c("red","red", "red", "red", "blue", "blue", "blue","blue", "red", "blue")
x.clust<-as.dendrogram(hclust(dist(x)))

x.clust.dend <- x.clust
labels_colors(x.clust.dend) <- groups
x.clust.dend <- assign_values_to_leaves_edgePar(x.clust.dend, value = groups, edgePar = "col") # add the colors.
x.clust.dend <- assign_values_to_leaves_edgePar(x.clust.dend, value = 3, edgePar = "lwd") # make the lines thick
plot(x.clust.dend) 

に示すように樹状図を生成します。ここに画像の説明を入力 ただし、現在のブランチのすべての葉が同じラベルになるまで、ルートに向かってブランチに色を付けたいと考えています。1 つでも不一致があった場合でも、既定の色である黒に切り替えます。結果のデンドログラムを次のようにしたいここに画像の説明を入力

私が欲しいのはcolor_brancheslikeを使うのと少し違う

x.clust.dend <-color_branches(x.clust.dend,k=3)

一部の外部ラベルに基づくのではなく、独自のクラスターに基づいて色付けされるためです。

4

1 に答える 1

1

お探しの機能はbranches_attr_by_clusters. 使用方法は次のとおりです。

library(dendextend)

x <- 1:100
dim(x) <- c(10, 10)
set.seed(1)
groups <- c("red","red", "red", "red", "blue", "blue", "blue","blue", "red", "blue")
dend <- as.dendrogram(hclust(dist(x)))

clusters <- as.numeric(factor(groups, levels = c("red", "blue")))
dend2 <-
  branches_attr_by_clusters(dend , clusters, values = groups)
plot(dend2)

ここに画像の説明を入力

この関数はもともと、dynamicTreeCut の結果を表示するために作成されました。別の例については、ビネットを参照してください。

于 2016-04-14T12:02:30.637 に答える