ビースウォームプロットはデータの分布を確認することができる表現方法です。似た表現方法には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%のラインを追加
少しでも、あなたの解析が楽になりますように!!