Rで解析:ggplot2でレーダーチャート「ggradar」パッケージ

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

ggplot2でレーダーチャートを簡単に作成するパッケージの紹介です。MACで利用するには指定するフォントのインストールが必要ですが、非常に便利なパッケージです。

なお、各データは百分率でプロットされます。詳細は実行コマンドまたはパッケージヘルプを確認ください。

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

スポンサーリンク

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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("ricardo-bion/ggradar")

実行コマンド

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

また、MACで利用するために下記URLよりフォントをダウンロードしてください。ファイルをダブルクリックすることでインストールが可能です。インストール後はシステムを再起動してください。

Circular Airフォント
https://dl.dropboxusercontent.com/u/2364714/airbnb_ttf_fonts/Circular Air-Light 3.46.45 PM.ttf

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

###データ例の作成#####
set.seed(1234)
n <- 5
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = FALSE),
                          Data1 = runif(n, min = 0, max = 8),
                          Data2 = sample(c(0, 1), n, replace = TRUE),
                          Data3 = runif(n, min = 0, max = 5),
                          Data4 = runif(n, min = 0, max = 7),
                          Data5 = runif(n, min = 0, max = 10))
#######

#&#12524;&#12540;&#12480;&#12540;&#12481;&#12515;&#12540;&#12488;&#12434;&#12503;&#12525;&#12483;&#12488;:ggradar&#12467;&#12510;&#12531;&#12489;
#&#26368;&#22823;&#20516;&#12398;&#25351;&#23450;:grid.max&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;1
#&#20363;&#12391;&#12399;2&#21015;&#30446;&#12363;&#12425;&#26368;&#32066;&#21015;&#12414;&#12391;&#23550;&#35937;&#12487;&#12540;&#12479;:max(TestData[, 2:ncol(TestData)])
#&#32972;&#26223;&#33394;&#12434;&#25351;&#23450;:background.circle.colour&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;"#D7D6D1"
#&#32972;&#26223;&#33394;&#12398;&#36879;&#26126;&#24230;&#12434;&#25351;&#23450;:background.circle.transparency;&#21021;&#26399;&#20516;0.2
#&#32218;&#12398;&#22826;&#12373;&#12434;&#25351;&#23450;:group.line.width&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;1.5
#&#12471;&#12531;&#12508;&#12523;&#12398;&#22823;&#12365;&#12373;&#12434;&#25351;&#23450;:group.point.size&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;6
#&#36600;&#12521;&#12505;&#12523;&#12469;&#12452;&#12474;&#12398;&#25351;&#23450;:axis.label.size&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;8
#&#26368;&#23567;&#20870;&#12398;&#32218;&#33394;&#12434;&#25351;&#23450;:gridline.min.colour&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;"grey"
#&#20013;&#20870;&#12398;&#32218;&#33394;&#12434;&#25351;&#23450;:gridline.mid.colour&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;"#007A87"
#&#26368;&#22823;&#20870;&#12398;&#32218;&#33394;&#12434;&#25351;&#23450;:gridline.max.colour&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;"grey"
#&#21508;&#20870;&#12398;&#32218;&#12398;&#22826;&#12373;&#12434;&#25351;&#23450;:grid.line.width;&#21021;&#26399;&#20516;0.5
#&#32218;&#31278;&#12434;&#25351;&#23450;:gridline.min.linetype,gridline.mid.linetype,
#gridline.max.linetype&#12458;&#12503;&#12471;&#12519;&#12531;;&#21021;&#26399;&#20516;"longdash"
ggradar(TestData, grid.max = max(TestData[, 2:ncol(TestData)]),
        background.circle.colour = "#ffdd99",
        background.circle.transparency = 1,
        group.line.width = 2,
        group.point.size = 6,
        axis.label.size = 10,
        gridline.min.colour = "#4b61ba",
        gridline.mid.colour = "#a87963",
        gridline.max.colour = "#e1e6ea",
        grid.line.width = 1.5,
        gridline.min.linetype = "longdash",
        gridline.mid.linetype = "longdash",
        gridline.max.linetype = "longdash")

#&#12362;&#12414;&#12369;:data.frame&#12434;&#12464;&#12523;&#12540;&#12503;&#27598;&#12395;&#35201;&#32004;&#12377;&#12427;&#26041;&#27861;&#12398;&#19968;&#20363;
#&#12487;&#12540;&#12479;&#12398;&#20316;&#25104;
n <- 50
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE),
                          Data1 = runif(n, min = 0, max = 8),
                          Data2 = sample(c(0, 1), n, replace = TRUE),
                          Data3 = runif(n, min = 0, max = 5),
                          Data4 = runif(n, min = 0, max = 2),
                          Data5 = runif(n, min = 0, max = 10))
#&#20869;&#23481;&#12398;&#30906;&#35469;
head(TestData)
     Group     Data1 Data2     Data3      Data4    Data5
1 Group3 2.2332498     1 3.5037407 0.03192126 4.084144
2 Group4 0.9877687     0 2.3961123 0.09892229 3.482213
3 Group5 6.3772837     1 4.2515596 1.49524757 8.345428
4 Group2 5.9542177     1 2.1116534 0.71447533 1.984000
5 Group5 7.3277938     0 0.1569606 1.51791639 8.618053
6 Group2 7.9567860     0 1.2907332 0.75191269 3.971853

#&#24179;&#22343;&#12391;&#35201;&#32004;
aggregate(TestData[, 2:ncol(TestData)], list(TestData[, 1]), mean)
    Group.1    Data1     Data2    Data3     Data4    Data5
1  Group1 5.422299 0.4545455 2.568613 1.0257214 4.807929
2  Group2 5.895000 0.3333333 2.503343 0.9892392 7.545210
3  Group3 3.487756 0.6923077 2.846782 1.1858549 3.980045
4  Group4 3.158220 0.4444444 1.671992 0.6342820 5.694446
5  Group5 4.676403 0.2500000 2.130129 1.3219461 5.361275

出力例

・ggradarコマンド


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

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