レーダーチャートを描く

 今回は、plotrixパッケージでレーダーチャートを描いてみます。以下は、MASSパッケージのcaithデータを使った例です。

# パッケージの読み込み
library(plotrix)
library(MASS)
# データの標準化
caith.scale <- data.frame(scale(caith))
# レーダーチャート
radial.plot(caith.scale, rp.type = "p", labels = colnames(caith.scale), lty = 1 : 4, lwd = 3, show.grid.labels = NA)
legend("topright", legend = rownames(caith.scale), col = 1 : 4, lty = 1 : 4, lwd = 3)

 上記のスクリプトを実行すると、以下のような図が表示されます。

f:id:langstat:20150228225130p:plain

 次に、irisデータを使ってみましょう。このデータは、caithデータとは異なり、最初に群ごとにデータを集計しなければなりません。以下の例では、群ごとの平均値を求めています。*1

# データの集計(平均値)
iris.mean <- aggregate(iris[1 : 4], list(iris[, 5]), mean, na.rm = TRUE)
iris.mean.2 <- iris.mean[, -1]
# データの標準化
iris.scale <- data.frame(scale(iris.mean.2))
# レーダーチャート
radial.plot(iris.scale, rp.type = "p", labels = colnames(iris.scale), lty = 1 : 3, lwd = 3, show.grid.labels = NA)
legend("topright", legend = iris.mean[, 1], col = 1 : 3, lty = 1 : 3, lwd = 3)

 上記のスクリプトを実行すると、以下のような図が表示されます。*2

f:id:langstat:20150228225626p:plain

*1:この部分は、もう少し工夫ができると思います。

*2:データの性質なのか、書き方の問題なのか、あまり綺麗な結果ではありませんね。。。