Rのreorderについて
いままでRのreorderをわかっていなかったアンドあまり記事がないようなので(みんな知ってるからかも...)これについて書いてみます。
この関数はfactorの並び(boxplotの時に横軸にすることがまず思い浮かびます)を変えたい時に使うもののようなのですが、なぜか手持ちのR書籍ではこのreorderという関数について書かれているものが無いようでした(もちろんhelpにはあります)。
helpのexamplesの通りなんですが書いてみます。
> library(graphics) > head(InsectSprays) count spray 1 10 A 2 7 A 3 20 A 4 14 A 5 14 A 6 12 A
まずこのInsectSpraysというデータについてですが、これは殺虫スプレーAからFをプシーっとやって死んだ虫の数をまとめたものぽいです。
普通にこのデータでboxplotを書けと言われるとこんな感じで各spray毎に殺虫数countのboxを作ると思います。
boxplot(count ~ spray, data=InsectSprays)
reorderのhelpのexamplesではこれをmedian順に各spray(factor)を並べ替えています。
bymedian <- with(InsectSprays, reorder(spray, count, median))
こうするとlevelsの並びがmedianの昇順になった、またアトリビュート$scoresに各spray毎のmedianの値を持った、bymedianというfactorができます。
> class(bymedian) [1] "factor" > attributes(bymedian) $levels [1] "C" "E" "D" "A" "F" "B" $class [1] "factor" $scores A B C D E F 14.0 16.5 1.5 5.0 3.0 15.0
でbymedianを使ってboxplotを書くと
boxplot(count ~ bymedian, data = InsectSprays)
以上、無知を晒すエントリでしたとさ、と。