問題タブ [dendrogram]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java でデンドログラムを描画するには、どのコンポーネントを使用すればよいですか?
デンドログラムは通常の図ではありません。javax.swing.* ライブラリのコンポーネントを使用する必要がありますか?それとも単に java.awt.Graphics で描画する必要がありますか?
dendrogram - 樹状図をプロットするためのライブラリまたは任意の API
いくつかのデータを含むMySQLデータベースがあり、JSPページとやり取りします。データベースに保存されているさまざまなファイルからデンドログラムをプロットする必要があります。
JTreeなどのJava APIを見つけましたが、Javaに慣れていないので、プログラムなどを呼び出すCGIまたはphpページでそれを行う代替手段があるかどうか疑問に思っています。
どんなアイデアや提案も大歓迎です。
r - Rデンドログラムでエッジに色を付けたり四角形を正しく描画したりするにはどうすればよいですか?
R のと関数を使用して、このデンドログラムを生成しました。hclust()
as.dendrogram()
plot.dendrogram()
dendrapply()
関数とローカル関数を使用して葉に色を付けましたが、正常に機能しています。
ノードのセット (たとえば、ツリーの右下隅にある" _+v\_stat5a\_01_
" と " "のクラスター) が有意または重要かどうかを示す統計テストの結果があります。_+v\_stat5b\_01_
dendrapply()
また、重要な葉を含むデンドログラム内の正確なノードを見つけるために使用できるローカル関数もあります。
私はどちらかをしたいです(例に従って):
_+v\_stat5a\_01_
" " と " "を結ぶエッジに色を付け_+v\_stat5b\_01_
ます。また、- " " と " "の
rect()
周りを描く_+v\_stat5a\_01_
_+v\_stat5b\_01_
次のローカル関数があります (「nodes-in-leafList-match-nodes-in-clusterList」条件の詳細は重要ではありませんが、重要なノードが強調表示されます)。
このif
ブロック内から を呼び出してみdendrapply(n, markEdges)
ましたが、うまくいきませんでした:
_+v\_stat5a\_01_
私の理想的な例では、「 」と「 」をつなぐエッジ_+v\_stat5b\_01_
は破線で赤色になります。
私はまたrect.hclust()
、このif
ブロック内で使用しようとしました:
しかし、結果は水平樹形図 (つまり、水平ラベルを持つ樹形図) では機能しません。以下に例を示します(右下隅の赤いストライプに注意してください)。生成されるものの次元について何かが正しくなくrect.hclust()
、それがどのように機能するのかわかりません。自分のバージョンを書くことができます。
edgePar
取得または適切に動作するためのアドバイス、または独自の同等のものrect.hclust()
を作成できるようにするためのアドバイスに感謝します。rect.hclust()
アップデート
この質問をして以来、パラメーターを計算してオブジェクトgetAnywhere(rect.hclust())
を描画する関数コードを取得していました。rect
この関数のカスタム バージョンを作成して、水平および垂直の葉を処理し、 で呼び出しますdendrapply()
。
ただし、 の一部を削除するある種のクリッピング効果がありrect
ます。水平の葉 (木の右側に描かれる葉) の場合、rect
いずれかの右端が消えるか、または の他の 3 つの辺の境界幅よりも細くなりrect
ます。垂直の葉 (ツリーの下部に描かれる葉) の場合、 の一番下の端でrect
同じ表示上の問題が発生します。
rect
重要なクラスターをマークする手段として行ったのは、クラスターのエッジの先端と (水平) リーフ ラベルの間に垂直の赤いストライプをレンダリングするように幅を狭めることです。
これにより、クリッピングの問題は解消されますが、別の問題が発生します。つまり、クラスター エッジの先端と葉のラベルの間のスペースが 6 ピクセル程度しかなく、あまり制御できません。これにより、縦縞の幅が制限されます。
より悪い問題は、x
縦縞が 2 つの要素の間に収まる場所を示す座標が、より大きなツリー ( par["usr"]
) の幅に基づいて変化することです。これは、ツリー階層が最終的にどのように構造化されるかによって異なります。
x
私は「修正」、またはより適切に言えば、この値とrect
水平方向の木の幅を調整するためのハックを書きました。常に一貫して機能するとは限りませんが、私が作成しているツリーでは、エッジやラベルに近づきすぎないように (またはオーバーラップさせないように) しているようです。
rect
最終的には、クリッピングがないように を描画する方法を見つけた方がよいでしょう。x
または、特定のツリーのエッジとラベルの間の特定の位置を計算する一貫した方法で、ストライプを適切に中央に配置してサイズを調整します。
色や線のスタイルでエッジに注釈を付ける方法にも非常に興味があります。
r - 複数の hclust オブジェクトからのコンセンサス ツリーまたは「ブートストラップ比率」
1 つの変数のわずかな変動に起因する hclust オブジェクトのリストがあります (距離行列を計算するため)。
- ここで、このリストからコンセンサス ツリーを作成したいと思います。
これを行うための汎用パッケージはありますか? maanova からいくつかのコードをハッキングしていますが、動作しているように見えますが、「通常の」ブートストラップ (化学データ) を行っていないため、見苦しく、多くのハッキングが必要です。
/Palle Villesen、デンマーク
java - Java へのデンドログラムの埋め込み
Javaでデータのデンドログラムを描画できるライブラリを探しています(それらを計算するのではなく、自分で行うことができます).手がかりはありますか?すでにGoogleで検索しようとしましたが、スタンドアロンではないものは見つかりませんでした(プログラム内に生成を埋め込む必要があります)。
ありがとう!
r - 2 つのデンドログラム (R) 間の「類似性」をどのように比較しますか?
2 つのデンドログラムがあり、それらがどの程度「似ている」かを調べるために比較したいと考えています。しかし、私はそうする方法を知りません(Rでそれを実装するコードは言うまでもありません)。
リードはありますか?
更新(2014-09-13):
この質問をして以来、デンドログラムの視覚化、操作、および比較のために、 dendextendという R パッケージを作成しました。このパッケージはCRANにあり、詳細なビネットが付属しています。、、/などの関数が含まれます。2 つのツリーを視覚的に比較するための関数と同様。cor_cophenetic
cor_bakers_gamma
Bk
Bk_plot
tanglegram
r - Rの系図データから樹状図を生成する
グラフの各レベルが世代を表し、同じ父親の息子だけが各レベルで接続されている樹状図を生成する方法はありますか?
Rのhclust関数とplot関数を使用して、父と息子の血統の樹状図を生成しようとしています。望ましい結果は、各世代の息子が父親の下の同じ線上に配置された樹状図です。
hclustと「complete」メソッドを使用すると、非類似度マトリックスを使用して同じ父親の息子に0の非類似度スコアを割り当て、データセット内の他のエンティティから除外して同じ階層レベルに配置できるようになることを期待していました。これは機能しません。同じレベルに異なる世代の息子がいます。
どんな助けでも大歓迎です!
データの例を次に示します。
父、息子
A、C
A、D
A、E
B、F
B、G
C、H
C、I
F、J
F、K
G、L
エージェントAには、C、D、Eの3人の息子がいます。そしてCを介して2人の孫:HとI。
エージェントBには2人の息子がいます:FとG。合計3人の孫:J、K、L。
r - 樹状図(または「hclust」)オブジェクトを手動で作成するにはどうすればよいですか?(Rで)
樹状図を画像として提供しています。それほど大きくないので、「手作業で」Rオブジェクトに組み立てることができます。
だから私の質問は、私が持っているのが樹状図画像だけである場合、どのように手動で樹状図(または「hclust」)オブジェクトを作成するのですか?
「as.dendrogram」という関数があるようですが、使い方の例が見つかりませんでした。
(ps:この投稿はここからの私の質問に続いています)
どうもありがとう、タル
python - scipy-clusterによって生成された樹状図は表示されません
scipy-clusterを使用して、一部のデータに階層的クラスタリングを生成しています。アプリケーションの最後のステップとして、dendrogram
クラスタリングをプロットする関数を呼び出します。組み込みのPython2.6.1とこのmatplotlibパッケージを使用してMacOSXSnowLeopardで実行しています。プログラムは正常に実行されますが、最後にRocket Shipアイコン(私が理解しているように、これはPythonのGUIアプリケーションのランチャーです)が表示され、何もせずにすぐに消えます。何も表示されません。呼び出しの後に「raw_input」を追加すると、ドック内で永久に上下にバウンスします。ターミナルからmatplotlibの簡単なサンプルアプリケーションを実行すると、正常に実行されます。誰かがこれについて何か経験がありますか?
r - 樹状図の葉を変更する
hclustオブジェクトのプロットから生成された樹状図の葉のプロパティを変更したいと思います。最低限、色を変えたいのですが、ご協力いただければ幸いです。
私は答えをグーグルで検索しようとしましたが、私が見たすべての解決策は、私が推測したものよりもかなり難しいようでした。