ケィオスの時系列解析メモランダム

時系列解析,生体情報学,数学・物理などの解説です.

【Rでレーダーチャート】fmsbパッケージの利用

最近,レーダーチャートを描画する必要が生じたので,Rでレーダーチャートを描く方法を調べてみました.今回は,fmsbパッケージを使ってレーダーチャートを描くためのメモです.

これまで,fmsbパッケージを使ったことがない場合は,まず,このパッケージをインストールしてください.

install.packages("fmsb")

このパッケージを使えば,以下のような図を作れます.

レーダーチャートの描画例

使ったスクリプトは,これです.

# fmsbパッケージを使います
# install.packages("fmsb")
require(fmsb)
##################################
# タイトル
TITLE <- "TITLE"
# 変数名
LABELS <- c("A","B","C","D","E")
# 最大と最小の設定
MAX <- c(5,5,5,5,5)
MIN <- c(0,0,0,0,0)
# レーダーの目盛数
N.SEG <- 5
# 軸ラベル
AXIS.LABEL <- c("0","1","2","3","4","5")
# 得点
SCORE <- c(3,2,5,4,0)
###################
# 右まわりに並び替え
CW <- c(1,seq(length(LABELS),2,-1)) 
####################
# レーダーチャートの描画
MAX.MIN <- data.frame(matrix(c(MAX,MIN),byrow=TRUE,nrow=2))
SCORE <- data.frame(matrix(SCORE,nrow=1))
DAT.CW <- rbind(MAX.MIN,SCORE)[CW]
LABELS.CW <- LABELS[CW]
radarchart(DAT.CW, # データ(最大最小,値)のdata.frame
    vlabels=LABELS.CW, # 各値のラベル
    title=TITLE, # 上に書くタイトル
    cglcol=8, # 補助線の色 (8: 灰色)
    pcol=2, # 線の色
    pfcol=rgb(1,0,0,alpha=0.1), # 塗りつぶし 
    plwd=3, # 線の太さ
    seg=N.SEG, # 補助線の分割数
    pty=32, # マーカ (32: なし)
    axistype=1, # 軸に値を描画する場合1
    caxislabels=AXIS.LABEL, # 軸のラベル
    axislabcol=1, # 軸のラベルの色 (1: 黒)
    centerzero=TRUE # 中心を0に設定
)

私の趣味で,右まわりの順にスコアをプロットとするようにしてあります.