📊

【R】beeswarm plotを描きたい

2023/11/16に公開

環境

Windows10
R 4.3.1
Rstudio

概要

ゴールはbeeswarm plot(蜂群図)をRで描くこと。

Rの準備

Rにパッケージをインストールする。

install.packages("ggbeeswarm")

データの準備

今回はirisを使用していく。

data <- iris

で簡単にloadできるが、そもそも初心者(私)はデータをどんな形で用意して、どんな風に読み込むのか、からのスタートなのでそこも書いていく。
inputデータの準備に困っていない人は次のセクションまで読み飛ばし推奨。

データの読み込み

irisデータをタブ区切りテキストファイルで出力しておいた。
エクセルで開くとこんな感じ。

これをRで読み込む。

data <- read.table("iris.txt",        # ファイル名
		    header = TRUE,    # 1行目は列名として扱う
		    sep = "\t")    # タブ区切り
		    
head(data)    # データの確認

こうなってればok。

beeswarm plotを描く

library(ggbeeswarm)

ggplot(data, aes(x = Species, y = Sepal.Width)) +  
  geom_beeswarm(aes(color = Species), # 種類ごとに色分けする
                size = 3,             # プロットの大きさを指定
                cex = 2,              # プロットの散らばり幅を指定
                alpha = 0.5)          # 不透明度を指定 (0が透明、1が不透明)

beeswarm plotに箱ひげ図を重ねる場合

library(ggbeeswarm)

ggplot(data, aes(x = Species, y = Sepal.Width)) +
  geom_boxplot(fill="white")+
  geom_beeswarm(aes(color = Species),
                size = 3,
                cex = 2,
                alpha = 0.5)

geom_boxplotとgeom_beeswarmの順番を逆にすると下記のようになってしまうので注意。

参考

https://brain-storm.space/ggbeeswarm/820/
https://www.kani3blog.com/r_boxplot/
https://heavywatal.github.io/rstats/ggplot2.html

Discussion