Rで解析:ネットワークをサークルで表現「packcircles」パッケージ

Rの解析に役に立つ記事

ネットワークをサークルで表現する「packcircles」パッケージです。結合ノード数が多いと直径が大きくなります。面白い表現方法だと思います。ネットワーク図と合わせて使用すると解釈が広がるかもしれません。

本パッケージは「ggplot2」パッケージと組み合わせて使用します。「ggplot2」パッケージの情報は本サイトだけでなく、ウェブで色々と公開されていますので検索してみてください。

参考までに、本サイトでまとめた情報を紹介します。
・Rで解析:手軽で綺麗なグラフが欲しいなら、ggplot2のまとめがオススメです。
 https://www.karada-good.net/analyticsr/r-78/

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


スポンサーリンク
スポンサーリンク

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

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

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

#必要があればggplot2パッケージのインストール
install.packages("ggplot2")

実行コマンドの紹介

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

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

#1:circleGraphLayoutコマンドで配置データを作成します
#内側のデータ例
#listで指定します
#各データ先頭が中心で以降が外周に位置するサークルID
Internal <- list(c(3, 1, 4, 5, 6, 8), c(2, 3, 4, 7, 8, 1),
                 c(4, 1, 5, 6, 2, 3, 7, 8, 9))
#外周に位置するサークルIDと半径の設定
External <- data.frame(id = c(1, 5:9), radius = 10)
#配置データの作成
LayoutData <- circleGraphLayout(Internal, External)

#2:circlePlotDataコマンドでプロットデータを準備します
#xyr.colsオプションにはx,y,radiusのデータを指定
PlotData <- circlePlotData(LayoutData, npoints = 25,
                           xyr.cols = 2:4, id.col = 1)

#3:ggplot2パッケージでプロット
ggplot() +
  geom_polygon(data = PlotData, aes(x, y, group = id),
               fill = "#00bfd4", alpha = 0.3, colour = "black") +
  geom_text(data = LayoutData, aes(x, y, label = id)) +
  coord_equal() + theme_bw()

出力例

packcircles

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

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