本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

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

ネットワークをサークルで表現する「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

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

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.