質問

私は生成され この似 Rの hclust(), as.dendrogram()plot.dendrogram() ます。

を使用した dendrapply() 機能および地域機能色の紅葉、取り組んでおられる。

私は結果から、統計的試験を示す場合の設定ノード例えば クラスターの"_+v\_stat5a\_01_"および"_+v\_stat5b\_01_"を右)、木の重要なまたは重要です。

また地元できる機能で使用 dendrapply() そのノード私の似を含む重要です。

思いずれか(以下の例:

  1. 色のエッジを参加"_+v\_stat5a\_01_"および"_+v\_stat5b\_01_";または、
  2. を描く rect() 周辺"_+v\_stat5a\_01_"および"_+v\_stat5b\_01_"

私は、以下の地域の機能の詳細は"ノード-イン-leafList-マッチノード-イン-clusterList"状態になに重要ですが、そのハイライトなノード):

markSignificantClusters <<- function (n) {
  if (!is.leaf(n)) {
     a <- attributes(n)
     leafList <- unlist(dendrapply(n, listLabels))
     for (clusterIndex in 1:length(significantClustersList[[1]])) {
       clusterList <- unlist(significantClustersList[[1]][clusterIndex])
       if (nodes-in-leafList-match-nodes-in-clusterList) {
          # I now have a node "n" that contains significant leaves, and
          # I'd like to use a dendrapply() call to another local function
          # which colors the edges that run down to the leaves; or, draw
          # a rect() around the leaves
       }
     }
  }
}

内からこの if ブロックを持っ呼び出し dendrapply(n, markEdges), が、ことはできませんでした作品:

markEdges <<- function (n) {
  a <- attributes(n)
  attr(n, "edgePar") <- c(a$edgePar, list(lty=3, col="red"))
}

私の理想の例では、エッジを結ぶ"_+v\_stat5a\_01_"および"_+v\_stat5b\_01_"う呼び、赤字で表示されます。

私もしてみました rect.hclust() この if ブロック:

ma <- match(leafList, orderedLabels)  
rect.hclust(scoreClusterObj, h = a$height, x = c(min(ma), max(ma)), border = 2)

その結果、動作しない水平"の表示(すなわち "の表示の横のラベル). ここでは一例です (注の赤ストライプの右下さい。何が正しくないの寸法の rect.hclust() を生成し、わからないので、書くことができる自分なります。

いず相談にのって edgePar または rect.hclust() を適切に作動させ、または書き込みができ、自分の rect.hclust() 等価です。

更新

てかこの質問を使って getAnywhere(rect.hclust()) の機能コードを計算するパラメータの rect オブジェクトです。書いたカスタムの機能への対応水平および垂直葉を呼び出す dendrapply().

しかし、ある種のクリッピングの効果を除去するの rect.横葉の葉が描かれた右側のツリーの最右端に rect のいずれかが消えたりするよりも細いボーダー幅のその他の rect.垂直葉(紅葉が描かれた下部のツリーのコンポーネントは一番下の rect が同じ表示の問題です。

私たの手段として重要なマーキングクラスターは大幅に rect なるかを描画する縦赤ストライプのヒントクラスターのエッジの(水平)の葉を表します。

これによりクリッピング課題が紹介別の問題、その間の空間のクラスター先端のヒントや葉のラベルが付けらいピクセルの多い制御します。この制限の幅縦イトです。

にしていかなければならないとの x座標(ワールド座標系とマークの縦縞でも使用でき、二つの要素の変化の幅は大きなツリー(par["usr"])に依存してどのようにツリーの階層になってしまっていた構成にしています。

書いた"補正"や、より良いるとは言いが、ハッキングを調整するこ x 価値の rect 幅水平。なので常に一貫して"のものですが、木製作を行っていくもの(または重複エッジとを表します。

最終的には、よりよい修正がどのように、 rect ができないようにクリッピング.または一貫した計算の特定 x 位置とエッジやラベルを指定するツリー、センターサイズのストライプ。

私も非常に興味がある方法釈エッジの色や線のメーカーです。

役に立ちましたか?

解決

なんだった五つの質問で"あなた5 +/- 3).ことを書いたり、自分のrect.hclustのような機能には、ソースが library/stats/R/identify.hclust.R だ見たいと思います。

私の目にもっといいかと思いまから読みのご説明でき描画 複数の 矩形のもの x セレクタがハードコードを峻別するタグの横に(なんとありません y).

今後も参加したいと思っていますが、なかにはソース)をご利用ください複数のrect.hclust異なる border= 色とは異なる h= 値が失敗パターンが描かれます。

更新

がなくてなかなか行けてない運ォことです。

このkludgeのクリッピングするパッドのラベルを前後にスペースおよび後端部の矩形に若干のマーケティングが"デザインするだけの矩形が出ることができなければ、このクリッピングゾーンで上書きのラベル).

もう入れた矩形透明感のある低アルファ)カラー、シャドーによるバウンディングボックス。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top