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


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

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

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


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

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

#パッケージのインストール
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) [,1] [,2] [,3] [,4] [,5] [1,] FALSE FALSE FALSE FALSE FALSE [2,] FALSE FALSE FALSE FALSE FALSE [3,] FALSE FALSE FALSE FALSE FALSE [4,] FALSE FALSE FALSE FALSE FALSE [5,] FALSE FALSE FALSE FALSE FALSE #dataを下記の形になるようにTRUEを代入します [,1] [,2] [,3] [,4] [,5] [1,] FALSE TRUE TRUE TRUE FALSE [2,] FALSE FALSE FALSE FALSE TRUE [3,] FALSE FALSE FALSE FALSE TRUE [4,] FALSE FALSE FALSE FALSE TRUE [5,] FALSE FALSE FALSE FALSE FALSE #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を代入します    [,1] [,2] [,3] [,4] [,5] [1,] FALSE TRUE TRUE TRUE FALSE [2,] FALSE FALSE TRUE TRUE TRUE [3,] FALSE TRUE FALSE TRUE TRUE [4,] FALSE TRUE TRUE FALSE TRUE [5,] FALSE FALSE FALSE FALSE FALSE #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)) [/code]


出力例

・generateRandomDataコマンド
generateRandomData

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

・同一レベルにあるノードをまとめてプロット
list(cluster = TRUE)


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク