Rで解析:ハッセ図の描写に便利です!「hasseDiagram」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

ハッセ図は順序関係や群を理解するのに有効な方法だと思います。ハッセ図を描写する「hasseDiagram」パッケージを紹介します。ハッセ図は非常にシンプルな思想だと思います。

秋の夜長に美しいハッセ図を見るために、generateRandomDataコマンドを実行するのも風流かもしれません。もしかすると、ガロアのような発想が生まれるかも。

パッケージのバージョンは0.2.0。R version 4.2.2でコマンドを確認しています。

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("hasseDiagram")
#下記を事項してRgraphvizパッケージインストール後に
#Update all/some/none? [a/s/n]:と表示された場合はnを選択してください
source("https://bioconductor.org/biocLite.R")
biocLite("Rgraphviz")

実行コマンド

詳細はコマンド、パッケージヘルプを確認してください。

#パッケージの読み込み
library("hasseDiagram")

#ハッセ図データ例の作成:generateRandomDataコマンド
#ノード数の指定:nrNodesオプション, グラフ数の指定:minGraphsオプション
#ハッセ図の複雑度:densityオプション;0で結合なし,1で一直線です
TestData <- generateRandomData(nrNodes = 16, minGraphs = 2, density = .7)
#データのプロット
hasse(TestData)

#オリジナルハッセ図のデータを作成
#マトリックスで指定します,[始点, 終点]の位置にTRUEで線(エッジ)を描写します
#ノード数5,"a1"から"a2, a3, a4"につなげ"a5"に集結します
#なお、グラフを分けてプロットする場合は分割したい列を全てFALSEにします
data <- matrix(data = FALSE, ncol = 5, nrow = 5)

#TRUEの代入
data[1, 2] <- data[1, 3] <- data[1, 4] <- TRUE
data[2, 5] <- data[3, 5] <- data[4, 5] <- TRUE

#データのプロット:hasseコマンド
hasse(data)

#同一レベルにあるノードをまとめてプロット
#[始点, 終点]が重複するようにTRUEを代入します
#TRUEの代入
data[2, 3] <- data[2, 4] <- data[3, 2] <- 
  data[3, 4] <- data[4, 2] <- data[4, 3] <- TRUE
#プロット:list(cluster = TRUE)オプション
#なお、ノードラベルはlabelsオプションで指定します
hasse(data, labels = c("A", "B", "C", "D", "E"), list(cluster = TRUE))

出力例

・generateRandomDataコマンド

generateRandomData

・オリジナルハッセ図のデータをプロット

hasse

・同一レベルにあるノードをまとめてプロット

list(cluster = TRUE)

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました