円グラフの散布図を作成するパッケージの紹介です。非常に面白い表現だと思います。
パッケージバージョンは0.1.7。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("scatterpie")
実行コマンド
詳細はコマンド、パッケージのヘルプを確認してください。
###データ例の作成##### #tidyverseパッケージがなければインストール if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } set.seed(1234) n <- 10 TestData <- tibble(Group = sample(paste0("Group", 1:4), n, replace = TRUE), #x軸の座標 X_Point_Data = sample(c(1:30), n, replace = TRUE), #y軸の座標 Y_Point_Data = sample(c(51:100), n, replace = TRUE), #円グラフデータ_1 YES_Value_Data = sample(c(1:5), n, replace = TRUE), #円グラフデータ_2 NO_Value_Data = sample(c(1:5), n, replace = TRUE), #円の大きさ Radius = sample(c(5:100), n, replace = TRUE)/30) ######## #散布図のシンボルを円グラフで描写:geom_scatterpieコマンド #円グラフの大きさを指定:aes(r = "数値")で設定 #データを指定:colsオプション;列名で指定 #グラフ塗色の変更はscale_fill_manualコマンドを利用 ggplot() + geom_scatterpie(data = TestData, aes(x = X_Point_Data, y = Y_Point_Data, r = Radius), cols = c("YES_Value_Data", "NO_Value_Data"), alpha = 1.0) + scale_fill_manual(values = c("#fef0e7", "#5c463e")) #グラフに凡例を追加:geom_scatterpie_legendコマンド #円グラフの凡例大きさを指定:radiusオプション #分割数を指定:nオプション #y軸ラベルが[ラベル名 + r]となる,labsコマンドで修正可能 ggplot() + geom_scatterpie(data = TestData, aes(x = X_Point_Data, y = Y_Point_Data, r = Radius), cols = c("YES_Value_Data", "NO_Value_Data"), alpha = 1.0) + scale_fill_manual(values = c("#fef0e7", "#5c463e")) + #geom_scatterpie_legendコマンド geom_scatterpie_legend(radius = TestData$Radius, x = 0, y = 45, n = 5) + #y軸ラベルを調整 labs(y = "TEST")
出力例
・geom_scatterpieコマンド
・geom_scatterpie_legendコマンド
少しでも、あなたの解析が楽になりますように!!