Rで解析:色々な円グラフを作成しませんか?「ggpie」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

カテゴリ変数を対象に1変数のグラフだけでなく、2変数を使用して2重グラフの作成が可能なパッケージの紹介です。グラフは単純な円グラフ、ドーナツグラフ、ローズグラフ、3D円グラフの作成が可能です。

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

スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 30
TestData <- tibble(Group = sample(paste0("Group", 1:4), n,
                                  replace = TRUE),
                   Chr_Data = sample(c("&#12363;", "&#12425;", "&#12384;", "&#12395;",
                                       "&#12356;", "&#12356;", "&#12418;", "&#12398;"),
                                       n, replace = TRUE),
                   Fct_Data = factor(sample(c("&#12363;", "&#12425;", "&#12384;", "&#12395;",
                                              "&#12356;", "&#12356;", "&#12418;", "&#12398;"),
                                            n, replace = TRUE)))
########                   

#&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12398;&#20870;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;:ggpie&#12467;&#12510;&#12531;&#12489;
#&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;:group_key&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12487;&#12540;&#12479;&#12398;&#31278;&#39006;&#12434;&#25351;&#23450;:count_type&#12458;&#12503;&#12471;&#12519;&#12531;;
#&#38598;&#35336;&#12487;&#12540;&#12479;:"count",&#26410;&#38598;&#35336;&#12487;&#12540;&#12479;: "full"
#&#12521;&#12505;&#12523;&#34920;&#31034;:label_type&#12458;&#12503;&#12471;&#12519;&#12531;;"circle","horizon","none"
#&#12521;&#12505;&#12523;&#20301;&#32622;:label_pos&#12458;&#12503;&#12471;&#12519;&#12531;;&#20870;&#20869;;"in",&#20870;&#22806;;"out"
#&#12521;&#12505;&#12523;&#20869;&#23481;:label_info&#12458;&#12503;&#12471;&#12519;&#12531;;"count","ratio","all"
#&#25351;&#23450;&#12497;&#12540;&#12475;&#12531;&#12488;&#20869;&#12398;&#12521;&#12505;&#12523;&#12434;&#20870;&#22806;&#12395;&#34920;&#31034;:labal_threshold&#12458;&#12503;&#12471;&#12519;&#12531;;
#label_pos&#12458;&#12503;&#12471;&#12519;&#12531;:"in"&#12391;&#21177;&#26524;&#12434;&#30330;&#25582;
ggpie(data = TestData, group_key = "Group",
      count_type =  "full", label_type = "horizon",
      label_pos = "in", label_info = "all",
      label_size = 4, label_color = "black",
      labal_threshold = 20)

#2&#12388;&#12398;&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12398;&#20870;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;:ggnestedpie&#12467;&#12510;&#12531;&#12489;
#&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;ggpie&#12467;&#12510;&#12531;&#12489;&#20808;&#38957;&#12395;inner_/outer_&#12391;&#21033;&#29992;&#21487;&#33021;
#&#20869;&#20870;&#12464;&#12521;&#12501;&#12398;&#21402;&#12373;&#12434;&#25351;&#23450;:inner_thick&#12458;&#12503;&#12471;&#12519;&#12531;
#&#22806;&#20870;&#12464;&#12521;&#12501;&#12398;&#21402;&#12373;&#12434;&#25351;&#23450;:outer_thick&#12458;&#12503;&#12471;&#12519;&#12531;
ggnestedpie(data = TestData, inner_thick = 0.8, outer_thick = 0.8,
            group_key = c("Group", "Fct_Data"), count_type =  "full",
            inner_label_info = "all", inner_label_split = NULL,
            inner_label_size = 3, inner_labal_threshold = NULL,
            outer_label_info = "all", outer_labal_threshold = 20,
            outer_label_type = "horizon", outer_label_pos = "in")

#2&#12388;&#12398;&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12391;&#12464;&#12523;&#12540;&#12503;&#27598;&#12398;&#25159;&#29366;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;:ggrosepie&#12467;&#12510;&#12531;&#12489;
#&#36600;&#30446;&#30427;&#12434;&#34920;&#31034;:show_tick&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE/FALSE
#&#20013;&#24515;&#20870;&#12398;&#22823;&#12365;&#12373;:donut_frac&#12458;&#12503;&#12471;&#12519;&#12531;
ggrosepie(data = TestData, group_key = c("Group", "Fct_Data"),
          count_type = "full", label_info = "all",
          show_tick = TRUE, donut_frac = 0.3,
          donut_label_size = 5)

#1&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12398;&#12489;&#12540;&#12490;&#12484;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;:ggdonut&#12467;&#12510;&#12531;&#12489;
#&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;ggpie&#12467;&#12510;&#12531;&#12489;&#12434;&#21442;&#29031;
ggdonut(data = TestData, group_key = "Group",
        count_type =  "full", label_type = "horizon",
        label_pos = "in", label_info = "all",
        label_size = 4, label_color = "black",
        labal_threshold = 20)

#1&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12398;3D&#20870;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;:ggpie3D&#12467;&#12510;&#12531;&#12489;
#&#24433;&#12398;&#28611;&#24230;:darken&#12458;&#12503;&#12471;&#12519;&#12531;;1:0
#&#20670;&#12365;&#12434;&#35519;&#25972;:tilt_degrees&#12458;&#12503;&#12471;&#12519;&#12531;
ggpie3D(data = TestData, group_key = "Group",
        count_type =  "full", label_info = "all",
        label_size = 4, darken = 0.5, tilt_degrees = -5)

出力例

・ggpieコマンド

・ggnestedpieコマンド

・ggrosepieコマンド

・ggdonutコマンド

・ggpie3Dコマンド


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

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