ggplot2 を使ったドットプロットの作成
ボックスプロットと同様にデータの分布を確認するための表示方法として、「ドッットプロット」があります。その名の通り、ドットプロットでは「ドット(点)」をデータの分布している場所に打つことで、データがどの区域に集まっているかを視覚化するものです。
ドットプロットに読み込むデータの形式
ボックスプロットと同様に、2列のデータです。サンプルの列が横に並んでいる場合は、 gather() 関数を利用して、整形しておく必要があります。
plot_data <- input_data %>%
gather(starts_with("Sample"), key = "Sample", value = "Read_count")
> plot_data
# A tibble: 500 × 2
Sample Read_count
<chr> <dbl>
1 Sample1 11.1
2 Sample1 9.80
3 Sample1 9.22
4 Sample1 10.2
5 Sample1 10.8
6 Sample1 9.54
7 Sample1 10.4
8 Sample1 11.0
9 Sample1 10.7
10 Sample1 10.4
# … with 490 more rows
# ℹ Use `print(n = ...)` to see more rows
geom_dotplot() を使ってドットプロットを作成
ボックスプロットは、geom_boxplot() を使いましたが、ドットプロットには、 「geom_dotplot()」が用意されています。使い方は同様で、 ggplot() に + で続けて記述します。その際、ボックスプロットは引数を必要としませんでしたが、ドットプロットの場合は、binaxis, stackdir, binwidth の指定が必要です。
ドットプロットのオプション
binaxis: ドットに使用するデータが aes の x, y のどちらかです。通常、 "y" になります。
stackdi: ドットの並べ方です。デフォルトでは、"up" となっており、左揃えで整列します。左右対象に並べたい場合は、"center" を指定します。"down" で右揃えになります。
binwidth: どれくらいの区画ごとにドットを打つか指定します。
全て指定すると下記のようになります。
g <- ggplot(plot_data, aes(x = Sample, y = Read_count))
g + geom_dotplot(binaxis = "y", stackdir = "center", binwidth = 0.1)
下記のようなドットプロットが表示されます。
色付けしたドットプロット
これもボックスプロットの同様に、ドットに色付けすることができます。ggplot() で aes() を指定する際に、 fill を指定します。ラベルの非表示や、その他の theme を変更すると、下記のようになります。
g <- ggplot(plot_data, aes(x = Sample, y = Read_count, fill = Sample))
g + geom_dotplot(binaxis = "y", stackdir = "center", binwidth = 0.1) +
theme(axis.text.x = element_text(size = 12),
axis.title.x = element_blank(),
axis.title.y = element_text(size = 18),
legend.position = "none")
サンプルごとに色を変更したドットプロットが表示されます。