Rで解析:頂点、辺のグラフが簡単です!「ggpolar」パッケージ


投稿日: Rの解析に役に立つ記事

頂点、辺のグラフを簡単に作成できるパッケージの紹介です。「ggplot2」パッケージのコマンドを適応できるので柔軟にグラフを作成できます。「facet_grid」コマンドなどが適応可能です。

パッケージバージョンは0.2.1。実行コマンドはwindows 11のR version 4.1.3で確認しています。

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

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

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

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 16
#開始グループデータ
From <- sample(paste0("Group_", str_pad(1:8, 2, pad = 0)),
               n, replace = TRUE)

#終了グループデータ
To <- NULL
for(i in seq(From)){
  ToVec <- sample(From[-which(From %in% From[i])], 1)
  To <- c(To, ToVec)
}

#シンボルサイズデータ
Size <- NULL
SizeTable <- as_tibble(table(To)) %>%
  rename(SizeTo = To)
for(i in seq(From)){
  SizeTo <- SizeTable %>%
    filter(SizeTo == From[i]) %>%
    select(n) %>% as.numeric() %>%
    replace_na(1) 
  Size <- c(Size, SizeTo)
}

#エッジデータ
Edge <- sample(c("Increase", "Decrease"), length(From), replace = TRUE)

#データ作成
TestData <- tibble(From, To, Size, Edge)
########

#座標系でドットをプロット:polar_initコマンド
#基準となるデータ列を指定:xオプション
#その他,ggplot2::geom_pointのオプションが使用可能
polar_init(data = TestData, x = From,
           aes(size = Size, color = Edge,
               shape = Edge)) -> TestPolar
#確認
TestPolar

#polar_initコマンドで作成したドットに線を付与:polar_connectコマンド
#2点間のデータ列を指定:x1,x2オプション
#その他,ggplot2::geom_segmentのオプションが使用可能
TestPolar +
polar_connect(TestData, x1 = From, x2 = To,
              size = Size, color = Edge,
              linetype = Edge, alpha = 0.3) -> PlotPolar

#確認
PlotPolar

#参考:scale_color_manualコマンドやfacet_gridコマンドなどの適応が可能です
PlotPolar +
  scale_color_manual(values = c("darkgreen", "magenta")) +
  facet_grid(~Edge)

出力例

・polar_initコマンド

・polar_connectコマンド

・参考:scale_color_manualコマンドやfacet_gridコマンドなどの適応が可能です


少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

スポンサードリンク