1

Sparcl パッケージ ( https://cran.r-project.org/web/packages/sparcl/sparcl.pdf ) を使用して、R でデンドログラムをプロットしています。私の特定の問題では、1 つの基準に従ってグループをクラスタリングしています。そして、別の基準に基づいて色付けして視覚化したいと思います (これのポイントは、クラスターが別の特性と一致する (または一致しない) ことを示すことです。Sparcl パッケージでこれを行うことができ、ノードを強調表示します)。強調したいのは:

df <- read.delim("the_data_matrix.txt");
d <- dist(as.matrix(df))
hc = hclust(d)
y[]='black'
y[list_of_nodes$V1]='red' # This will allow me to color only certain branches red, leaving the others black

標準のプロット関数でプロットすると、ラベルやテキスト サイズなどのさまざまなパラメータを hang と cex で制御できます (ただし、枝に色を付けることはできません) (図では、これは "Dendrogram 1" です)。

plot(hc,hang=-10,cex=.1)

一方、Sparcl 内で ColorDendrogram 関数を使用してプロットすると、色付きの樹状図を取得できますが、書式設定オプションが失われます (図では、これは「樹状図 2」です)。

ColorDendrogram(hc, y = y, branchlength = 4)

hang と cex を使用してテキストのサイズと配置を制御すると、ColorDendrogram でエラーが発生しました。 私の質問ここに画像の説明を入力

Sparclパッケージまたは別のパッケージ内で、これを修正する方法を知っている人はいますか? ColorDendrogram が持つ色の柔軟性を持ちたいと考えていますが、書式設定機能を失わないようにしたいと考えています。

4

1 に答える 1

1

Try the package dendextend (vignette), which should give you all flexibility:

library(dendextend)
d1 <- mtcars %>% dist %>% hclust %>% as.dendrogram
d2 <- mtcars %>% dist(method="minkowski") %>% hclust(method="single") %>% as.dendrogram
vals <- grep("Merc", rownames(mtcars), val=T) # highlight branches leading to "Merc..."

par(mfrow=c(2, 1))
d1 %>% set("by_labels_branches_col", value = vals) %>% set("hang_leaves", -10) %>% set("labels_cex", .1) %>% plot
d2 %>% set("by_labels_branches_col", value = vals) %>% plot

enter image description here

于 2015-12-16T17:32:29.923 に答える