0

ツリーの葉のリストと、それらをマージしたい高さ、つまり、最新の共通の祖先の高さを持っています。すべての葉は高さ 0 であると想定されます。おもちゃの例は次のようになります。

as.data.frame(rbind(c("a","b",1),c("c","d",2),c("a","d",4)))
   V1 V2 V3
1  a  b  1
2  c  d  2
3  a  d  4

このデータを表すツリーをプロットしたいと思います。R が からのツリーをプロットできることは知っていhclustます。hclustによって返された形式または簡単にプロットできる他の形式にデータを取得するにはどうすればよいですか?

図を追加するために編集されました:

上記のデータセットのツリーは次のようになります。

   __|___
  |      |
  |     _|_
 _|_   |   |
|   |  |   |  
a   b  c   d   
4

1 に答える 1

0

あなたが持っているのは、(独自のデータ形式規則で) 既に指定されている階層的クラスタリングであり、R のプロット機能を使用したいと考えています。これは簡単ではないようです。これを実現する唯一の方法は、hclust によって返されるようなオブジェクトを作成することです。これには、"merge"、"height"、"order"、"labels"、"method"、"call"、"dist.method" という属性があり、これらはすべて非常に理解しやすいものです。誰かがすでにこれを試しました: https://stat.ethz.ch/pipermail/r-help/2006-February/089170.htmlしかし、明らかにまだ問題がありました。また、クラスタリングと一致するダミー値を距離行列に入力し、これを hclust に送信することもできます。例えば

a <- matrix(ncol=4,nrow=4, c(0,1,4,4,1,0,4,4,4,4,0,2,4,4,2,0))
b <- hclust(as.dist(a), method="single")
plot(b, hang=-1)

これはおそらく役に立つかもしれません。

于 2013-03-05T14:42:37.013 に答える