Rで解析:ネットワーク図や2部グラフをプロット!!「multigraph」パッケージ

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

ネットワーク図や2部グラフが作成できるパッケージの紹介です。自身の集団と相手の集団との関係性を把握するのにおすすめなパッケージです。

パッケージバージョンは0.97-2。windows 11のR version 4.1.3で動作を確認しています。

スポンサーリンク

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

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

#パッケージのインストール
install.packages("multigraph")

実行コマンドの紹介

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

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

###データ例の作成#####
TestData <- array(data = sample(1:100, 50, replace = TRUE), dim = c(5, 5, 2),
                  dimnames = list(paste0("Data", 1:5), paste0("Group", 1:5)))
#ネットワーク用データを作成
TestZeroOne <- ifelse(TestData > 50, 1, 0)
########

#ネットワーク図を作成:multigraphコマンド
#データを指定:netオプション
#エッジに指向性を付与:directedオプション;FALSEでなし
#レイアウト設定:layoutオプション;circ,force,stress,conc,randの設定が可能
#タイトルを設定:main;初期値NULL
#ノード,エッジ,背景色の透明度:alphaオプション;bgは1以外うまく動かない
#ノード色を指定:vcolオプション
#エッジ色を指定:ecolオプション
#背景色を指定:bgオプション
#ラベルサイズ:tcexオプション
#ラベル位置:posオプション
par(mfrow = c(2, 3))
LayoutSet <- c("circ", "force", "stress", "conc", "rand")
for(i in seq(LayoutSet)){
  multigraph(net = TestZeroOne, directed = TRUE,
             layout = LayoutSet[i], main = paste0("Layout::", LayoutSet[i]),
             alpha = c(vertex = .5, edge = 1, bg = 1),
             vcol = "#9e323a", ecol = "black", bg = "white",
             cex = apply(TestData, 1, sum), tcex = .7, pos = 0)}

#2部グラフを作成:bmgraphコマンド
#レイアウト設定:layoutオプション;"bip", "bip3", "bip3e",
#"bip3e", "bipc", "force","rand", "circ", "stress",
#"CA", "circ2"の設定が可能
par(mfrow = c(4, 3))
LayoutSet <- c("bip", "bip3", "bip3e", "bipc", "force",
               "rand", "circ", "stress", "CA", "circ2")
for(i in seq(LayoutSet)){
  bmgraph(net = TestZeroOne, directed = TRUE,
          layout = LayoutSet[i], main = paste0("Layout::", LayoutSet[i]),
          pch = c(19, 15), vcol = c("#8ebcf6", "#ddd5fa"), ecol = "black")}

出力例

同じデータをネットワーク図および2部グラフ(bmgraphコマンド)で示しています。画像のクリックで拡大表示できます。

・multigraphコマンド

・bmgraphコマンド


あなたの解析がとっても楽になりますように!!

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