![ViolinPlot-eyecatch](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-eyecatch.jpg)
データをグラフにするとき、
「これのデータは バイオリン プロット で表すのが最適。」
と思う時があります。
今回は、それを R で作るときの備忘録。
ggplot2 のインストール
ggplot2 は、“The Grammer of Graphics” という体系に基づいて設計されたパッケージ。
Hadley Wickham氏が作成。
グラフ = 座標 (ggplot) + グラフの種類 (geom_**) + グラフの修飾
インストールは、コンソールに下記をタイプすればOK。
> install.packages("ggplot2")
インストールがうまくいかないときは、下記が参考になるかも。
Rの環境を変えて、パッケージを再インストールしようとしたら、下記エラーが表示された。 「代わりに新しいライブラリを構築しますか?」 的な事を効かれたので、「YES」としたのに、また下記メッセージ。 「結局ダメってことじゃ …
インストール後、ggplot2のライブラリを読み込む。
> library(ggplot2)
グラフ用のデータを作成
1. エクセルでデータを作成。
今回のエレメントは、"FN", "Dx", "Region" の3要素)。
![ViolinPlot1](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-1.jpg)
2. 保存形式を .csv にして、R の directoryがある場所に保存する(私の場合は、Dドライブ > R > directory)。
![ViolinPlot2](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-2.jpg)
3. 作業ディレクトリの場所は、
> getwd()
で確認できる。
![ViolinPlot3](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-3.jpg)
データを取り込む
1. コンソールに下記入力してデータを取り込む。
> data=read.csv("ファイル名.csv", header=TRUE)
1行目はヘッダー。
※ エクセル上のある部分だけコピーして取り込む方法も便利。
方法:
1. エクセル上の解析したい部分を選択してコピー。
2. Rのコンソールに下記入力で取り込み。
> data=read.table("clipboard", header=TRUE)
2. ちゃんと取り込めているか、最初の6行を確認する。
> head(data)
![ViolinPlot4](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-4.jpg)
3. dimension と structureも確認(ちゃんと3要素になっているかとか)。
> dim(data)
> str(data)
![ViolinPlot5](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-5.jpg)
バイオリンプロット作成
2.基本コードを入力
> p<-ggplot(data,aes(x=Region,y=FN))+geom_violin()
![ViolinPlot6](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-6.jpg)
x軸の順番を変更
上記だと、x軸の順番が昇順になっているので、これを任意の順番に変更。
> p<-p+scale_x_discrete(limit=c('LBD-LATE','AD-LATE'))
> p
平均化の度合いを大きく
4. 凹凸をもうちょっと滑らかにしたい場合。
> p+geom_violin(adjust=2)
![ViolinPlot8](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-8.jpg)
各バーの横幅を調節
> p+geom_violin(width=1.5)
![ViolinPlot9](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-9.jpg)
横幅と滑らかさを同時に調節する場合は "," でつなぐ。
> p+geom_violin(width=5, adjust=5)
![ViolinPlot10](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-10.jpg)
背景を変更
背景をなしにしたい場合は、
> p<-p + theme_classic()
![ViolinPlot11](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-11.jpg)
ドットプロットの重ね合わせ
それぞれの値をドットで重ねたいときは、
> p<-p + geom_jitter(shape=16, position=position_jitter(0.02))
![ViolinPlot12](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-12.jpg)
jitter(0.02)の部分に任意の数字を入れて、ばらつきの度合いを変更する。
Shapeは16種類。
ggpubr::show_point_shapes()
で確認できる。
![ViolinPlot13](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-13.jpg)
各バーの色を変更
それぞれ指定したい場合
p+scale_fill_manual(values=c("#999999", "#E69F00"))
カラーコードは下記参照
パステルカラーのカラーコードが一目でわかるWEB色見本
パッケージを利用する場合
カラーパッケージのインストール
install.packages("RColorBrewer")
ディスプレイで見てみる
library("RColorBrewer")
display.brewer.all()
![ViolinPlot14](https://mom-neuroscience.com/wp-content/uploads/2020/11/210304-r-ViolinPlot-14.jpg)
References
Statistical tools for data analysis and visualization
Statistical tools for data analysis and visualization
Statistical tools for data analysis and visualization