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))
#&#22806;&#21608;&#12395;&#20301;&#32622;&#12377;&#12427;&#12469;&#12540;&#12463;&#12523;ID&#12392;&#21322;&#24452;&#12398;&#35373;&#23450;
External <- data.frame(id = c(1, 5:9), radius = 10)
#&#37197;&#32622;&#12487;&#12540;&#12479;&#12398;&#20316;&#25104;
LayoutData <- circleGraphLayout(Internal, External)

#2:circlePlotData&#12467;&#12510;&#12531;&#12489;&#12391;&#12503;&#12525;&#12483;&#12488;&#12487;&#12540;&#12479;&#12434;&#28310;&#20633;&#12375;&#12414;&#12377;
#xyr.cols&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12399;x,y,radius&#12398;&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;
PlotData <- circlePlotData(LayoutData, npoints = 25,
                           xyr.cols = 2:4, id.col = 1)

#3:ggplot2&#12497;&#12483;&#12465;&#12540;&#12472;&#12391;&#12503;&#12525;&#12483;&#12488;
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をコピーしました