ビースウォームプロットはデータの分布を確認することができる表現方法です。似た表現方法にはboxplotなどがあります。boxplotに点をプロットしても良いですが、手軽にビースウォームを利用できる「beeswarm」パッケージを紹介します。
「beeswarm」パッケージではビースウォームプロットに中央値、75%、25%のラインを書き込めるbxplotコマンドもあります。なお、紹介するパッケージのバージョンは0.2.0です。
パッケージのインストール
下記コマンドを実行してください。
install.packages("beeswarm")コマンドのオプション
beeswarmコマンドのオプション
| オプション | 内容 |
|---|---|
| fomula | Y軸データ配列~グループ配列で指定 |
| data | fomula使用時にdataを指定するのに使用 |
| na.action | 欠損値の処理。初期値はNULL |
| x | fomulaとは同時に使用しない。配列、データフレーム、リストが使用できる |
| method | プロット方法の設定。"swarm", "center", "hex", "square"が設定可能 |
| vertical, horizontal | プロット方向の垂直 or 水平を指定。初期値はvertical = TRUE, horizontal = !vertical |
| cex | シンボルの大きさ。初期値は1 |
| spacing | シンボル間の隙間。初期値は1 |
| labels | データ行名以外を指定する場合に使用 |
| corral | シンボルの重なり方法を指定。"none", "gutter", "wrap", "random", "omit"が設定可能 |
| pch, col, bg | シンボル、色、塗りつぶしの色を指定 |
| side | シンボルの並び方を指定。初期値は左右。-1で左方向。1で右方向 |
| priority | methodを"swarm"に設定した時にシンボルをプロットする順序。"ascending", "descending", "density", "random", "none"が設定可能 |
bxplotコマンドのオプション
| オプション | 内容 |
|---|---|
| fomula | Y軸データ配列~グループ配列で指定 |
| data | fomula使用時にdataを指定するのに使用 |
| na.action | 欠損値の処理。初期値はNULL |
| x | fomulaとは同時に使用しない。配列、データフレーム、リストが使用できる |
| vertical, horizontal | プロット方向の垂直 or 水平を指定。初期値はvertical = TRUE, horizontal = !vertical |
| add | プロットの重ね書きを指定。初期値はFALSE |
| col, lty, lwd | 線の色、種類、太さを指定 |
| width | 線の長さを指定、初期値は0.75 |
実行コマンドの紹介
詳細はコマンド内の詳細を確認ください。
library("beeswarm")
#データ例を作成
TestData <- data.frame(Group = rep(paste("テスト", 1:5, sep = ""), 20),
FrequenceOne = runif(100, min = -3, max = 3),
FrequenceTwo = rnorm(100))
#fomulaを使用したプロット
beeswarm(TestData[, 2] ~ Group, TestData, col = rainbow(6), pch = 17,
method = "center", corral = "wrap")
#fomulaを使用しないプロット
beeswarm(TestData[, 2:3], bg = "#00000050",
method = "swarm", corral = "omit",
priority = "descending", side = 0,
col = c("red", "blue"), pch = 25)
#fomulaを使用しないプロットに中央値、75%、25%のラインを追加
beeswarm(TestData[, 2:3], bg = "#00000050",
method = "swarm", corral = "omit",
priority = "descending", side = 0,
col = c("red", "blue"), pch = 25)
bxplot(TestData[, 2:3], col = "brown", lty = 2,
lwd = 3, width = 0.5, add = TRUE)出力例
fomulaを使用したプロット

fomulaを使用しないプロット

fomulaを使用しないプロットに中央値、75%、25%のラインを追加

少しでも、あなたの解析が楽になりますように!!


