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))
#######

#レーダーチャートをプロット:ggradarコマンド
#最大値の指定:grid.maxオプション;初期値1
#例では2列目から最終列まで対象データ:max(TestData[, 2:ncol(TestData)])
#背景色を指定:background.circle.colourオプション;初期値"#D7D6D1"
#背景色の透明度を指定:background.circle.transparency;初期値0.2
#線の太さを指定:group.line.widthオプション;初期値1.5
#シンボルの大きさを指定:group.point.sizeオプション;初期値6
#軸ラベルサイズの指定:axis.label.sizeオプション;初期値8
#最小円の線色を指定:gridline.min.colourオプション;初期値"grey"
#中円の線色を指定:gridline.mid.colourオプション;初期値"#007A87"
#最大円の線色を指定:gridline.max.colourオプション;初期値"grey"
#各円の線の太さを指定:grid.line.width;初期値0.5
#線種を指定:gridline.min.linetype,gridline.mid.linetype,
#gridline.max.linetypeオプション;初期値"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")

#おまけ:data.frameをグループ毎に要約する方法の一例
#データの作成
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))
#内容の確認
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

#平均で要約
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をコピーしました