Rではキレイなビジュアルのグラフを無料で作ることができます。高いソフトウェアは不要で、論文に十分使える図ができます!特にggplot2はその使いやすさや見た目のキレイさからとても好評です。
様々なデータがあると思いますが、一番良く使うのは箱ひげ図や散布図ではないでしょうか。それらをよりわかりやすくビジュアライズしていきたい方向けの基礎的なテクニックです!
ボックスプロット(箱ひげ図)とドットプロットを描く
![](https://brain-storm.space/wp-content/uploads/2021/05/method_beeswarm_mod-1024x768.jpg)
このグラフはドットプロットと呼ばれます。箱ひげ図の上にドットプロットを重ねています。
箱ひげ図(box plot)とドットプロット(dot plot)は実際のデータがどのような分布になっているのかみるのに有用です。これで外れ値などもよくわかりますし、誤魔化している感じがない正直なプロットです。
base機能とbeeswarmパッケージを用いた方法とggplot2を使う方法があります。ggplot2を使う場合にはggbeeswarmというパッケージを使うとよりきれいになります。
baseのboxplotとbeeswarmライブラリを用いて作図する
![](https://brain-storm.space/wp-content/uploads/2021/05/box_beeswarm8-1024x1024.jpg)
箱ひげ図は、baseと呼ばれるRに元々入っている機能を使ったものです。箱ひげ図はかんたんにかけますが、その後のドットプロットについてはbeeswarmというライブラリを使います。beeswarmは蜂群図とも呼ばれ、点を散らばらせることで視覚的に印象的にみせる効果があります。beeswarmライブラリで簡単に作図をすることができます。
x軸の並び替えもこちらに書いています。
![](https://brain-storm.space/wp-content/uploads/2021/05/box_beeswarm8-320x180.jpg)
ggplot2を用いてボックスプロットとドットプロットを作図する
ggplot2を使うのに慣れた人向けの方法です。これは単純なドットプロットを描く方法で、いわゆるbeeswarm(蜂群図)ではありませんが、視覚的効果は十分にあります。
![](https://brain-storm.space/wp-content/uploads/2021/05/box_dot_plot_label4-320x180.jpg)
ggbeeswarmを用いてggplot2のドットを散らばらせる
![](https://brain-storm.space/wp-content/uploads/2021/05/ggbeeswarm1-1024x1024.jpg)
ggplot2でもbeeswarm(蜂群図)を作成することができます。これにはggplot2に加えて、ggbeeswarmというライブラリを使います。点の散らし方にもいくつかの方法があります。
![](https://brain-storm.space/wp-content/uploads/2021/05/method_beeswarm-320x180.jpg)
ggplot2でバイオリンプロットを描く
![](https://brain-storm.space/wp-content/uploads/2021/05/gg_violin_5-1024x1024.jpg)
バイオリンプロットも複数のデータを比較する時にとても便利です。とてもキレイな図になります。この中では、バイオリンプロットにドットプロットや箱ひげ図の重ね方を説明しています。バイオリンプロットはggplot2のgeom_violinで描くことができます。
![](https://brain-storm.space/wp-content/uploads/2021/05/gg_violin_boxplot2-e1679658032838-320x180.jpg)
ggplot2を使って散布図を描く
![](https://brain-storm.space/wp-content/uploads/2021/05/scatterplot12-1024x1024.jpg)
相関を数字で出すよりも実際に散布図を出したほうがより直感的にもわかりやすくなります。これも正直な印象を与えることができます。 ggplot2を用いて、geom_pointで散布図を、geom_smoothまたはstat_smoothで近似曲線を表示できます。
散布図と近似直線を描く方法
![](https://brain-storm.space/wp-content/uploads/2021/05/scatterplot_facet_grid3-e1621560578477.jpg)
複数データはfacet_gridとfacet_wrapを使う
![](https://brain-storm.space/wp-content/uploads/2021/05/facet_wrap7-1024x512.jpg)
複数データを一度に表示したいとき、一つ一つ出していたのでは大変です。そんなときはfacet_gridやfacet_wrapを使うと一度にできて、見栄えのあるグラフができます。
またタイトルラベルなどの変え方にも少しテクニックが必要なので、その説明も加えています。
![](https://brain-storm.space/wp-content/uploads/2021/05/facet_wrap7-320x180.jpg)
geom_barで棒グラフを作図する
![](https://brain-storm.space/wp-content/uploads/2021/07/bargraph7-1024x819.jpg)
棒グラフは最も基本的なグラフの一つです。エクセルでも出来てしまうので、それほど困らないかもしれませんが、ggplot2でも簡単に出来てしまいます。次のリンクで紹介をしています。
![](https://brain-storm.space/wp-content/uploads/2021/07/bargraph10-320x180.jpg)
geom_errorbarで棒グラフと折れ線グラフにエラーバーをつける
![](https://brain-storm.space/wp-content/uploads/2021/06/errorbar6-1024x614.jpg)
![](https://brain-storm.space/wp-content/uploads/2021/06/errorbar10-1024x614.jpg)
棒グラフや折れ線グラフは平均値の大小や推移などを可視化するのによく使われます。データ解析ではそこにエラーバーをつけたりしますが、そのやり方も知らなくては作図ができません。
さらにRでの標準偏差や標準誤差の算出方法も説明しています。計算で標準誤差などを出せば簡単に作図ができます。
![](https://brain-storm.space/wp-content/uploads/2021/06/errorbar10-320x180.jpg)
geom_tileで相関行列のヒートマップをつくる
![](https://brain-storm.space/wp-content/uploads/2021/06/cormat7-1-1024x819.jpg)
相関行列をつくったとき、それをテーブルにしても十分ですが、それを視覚的にわかりやすくするとより印象的な図になります。一目でデータが理解出来るのは、大きなメリットになります。
ggplot2以外のいくつかのパッケージでも描くことはできますが、ggplot2を使った方法を説明しています。それを紹介したのは次のリンクになります。
![](https://brain-storm.space/wp-content/uploads/2021/06/cormat7-320x180.jpg)
ggplot2を使うときにデータを横長のデータから縦長のデータへ変換する必要があるときがあります。そんなときはpivot_longerを使うことで簡単に変換をすることができます。これは次の記事で詳細に説明をしています。
![](https://brain-storm.space/wp-content/uploads/2021/05/pexels-christina-morillo-1181675-320x180.jpg)
今回紹介した作図法だけでも、論文のグラフの多くは作図ができると思います。今後もさらなる方法を広めて行きたいと思っています。
背景の一部(四角)に色をつけるgeom_rect
![](https://brain-storm.space/wp-content/uploads/2023/03/geom_rect_fig6.jpeg)
背景に色をつけて、その部分を強調したり、領域を分けたいことがあります。そんな時はgeom_rectを使います。
![](https://brain-storm.space/wp-content/uploads/2023/03/geom_rect_fig7-320x180.jpeg)
ROC曲線を描く
![ROC曲線](https://brain-storm.space/wp-content/uploads/2023/03/roc_comparison_final_8-1.jpeg)
ROC曲線を書くのは思ったよりも簡単です。Rの初心者でも短時間で書くことができます。AUC(Area under the curve)の比較もあっという間です。
![ROC曲線](https://brain-storm.space/wp-content/uploads/2023/03/roc_comparison_final_8-1-320x180.jpeg)
今後もさらに追加していく予定です。お役に立ちましたら幸いです。