ggplot2でレーダーチャートを簡単に作成するパッケージの紹介です。MACで利用するには指定するフォントのインストールが必要ですが、非常に便利なパッケージです。
なお、各データは百分率でプロットされます。詳細は実行コマンドまたはパッケージヘルプを確認ください。
パッケージバージョンは0.1。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("devtools") devtools::install_github("ricardo-bion/ggradar")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
また、MACで利用するために下記URLよりフォントをダウンロードしてください。ファイルをダブルクリックすることでインストールが可能です。インストール後はシステムを再起動してください。
なお、エラーが出ますが、Windowsではフォントをインストールせずにパッケージが利用できます。
Circular Airフォント
https://dl.dropboxusercontent.com/u/2364714/airbnb_ttf_fonts/Circular Air-Light 3.46.45 PM.ttf
#パッケージの読み込み library("ggradar") ###データ例の作成##### 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 Group2 5.958661 1 3.5162495 1.52580859 4.776988 2 Group4 7.212621 0 0.4244415 1.56943113 1.623245 3 Group2 1.933894 1 2.0224869 0.25314407 9.573465 4 Group2 6.791855 0 2.5646908 0.03575422 1.253536 5 Group4 4.645382 0 3.0220427 0.67330825 6.805378 6 Group1 4.065967 1 3.9061660 1.73928327 5.188013 #平均で要約 aggregate(TestData[, 2:ncol(TestData)], list(TestData[, 1]), mean) Group.1 Data1 Data2 Data3 Data4 Data5 1 Group1 4.491273 0.5714286 2.051701 1.1500546 4.634674 2 Group2 4.215512 0.7272727 2.836282 0.7818129 5.170912 3 Group3 2.371959 0.3750000 2.748526 0.8370290 4.871396 4 Group4 4.898825 0.5000000 2.462507 0.6189924 4.938792 5 Group5 4.844590 0.2857143 1.988985 1.0729326 4.385042
出力例
少しでも、あなたのウェブや実験の解析が楽になりますように!!