====== 07.Google ColaboratoryでRで箱ひげ図と蜂群図(ほうぐんず) ====== ---//2021/08/08 更新// [[00.初めての医療統計rとezr:index.html|初めての医療統計RとEZRトップページ]] 前回の[[00.初めての医療統計rとezr:06.colaboratoryでrで折れ線グラフ|06.Google Colaboratoryで時系列データで折れ線グラフを描画]]では、GoogleColaboratory上で、自作データをアップロードして、ggplot2を用いて折れ線グラフを描く方法を紹介しました。 今回は、次のような条件での、『4群の血糖値のデータ』をアップロードして、箱髭図、または蜂群図(beesworm)を作成します。さらに、4群の平均値に差があるかどうか、つまりone-way ANOVAを行ってみたいと思います。また、4群の平均値に差があった場合に、各2群同士で平均値に有意な差があるかどうかの検定(Tukey)も行います。 -普通食、糖尿病薬投与無しのマウス(group A)の血糖値 -普通食、糖尿病薬投与ありのマウス(group B)の血糖値 -高脂肪食、糖尿病薬投与無しのマウス(group C)の血糖値 -高脂肪食、糖尿病薬投与ありのマウス(group D)の血糖値 ===== ソースコード ===== https://colab.research.google.com/drive/1Jv0eQ0g7K09FfQvUIN4U5ewEW5qphZLV?hl=ja ===== 開発環境 ===== Windows10 Pro (1803) (OSは何でもよいです) Chrome Googleアカウント Google ColaboratoryでRプログラミングを行う方法については、[[https://i-doctor.sakura.ne.jp/font/?p=41572|Google Colaboratoryで3秒でR環境構築 2019年10月14日]]をご覧下さい。 ==== 今回使用したRパッケージ ==== tidyverse cowplot ===== 自前データの用意 ===== 今回、自前のデータとして、以下のエクセルファイルを用いてみます。 {{ :00.初めての医療統計rとezr:book3.xlsx |}} (←クリックでダウンロードできます。) Wild Typeマウスを、普通食vs高脂肪食、糖尿病薬(血糖降下薬)投与ありvs投与無しの4群に分けて飼育し、3ヶ月後の血糖値[mg/dL]を測定したデータです。(33行5列の仮のデータです。) ^ id ^ highFatDiet ^ medicine ^ group ^ glucose ^ |A1 | nasi | nasi | A | 76 | |A2 | nasi | nasi | A | 82 | |A3 | nasi | nasi | A | 85 | |A4 | nasi | nasi | A | 114 | {{:00.初めての医療統計rとezr:pasted:20191017-225615.png}} Rで統計する際の自前データの記載方法については、[[00.初めての医療統計rとezr:03.excelでcsv出力|03.Excelでcsv形式でデータを保存]]をご覧頂けましたら幸いです。半角英数字とピリオドのみを用いて記載していただくのがお勧めです。なお、欠損データは半角英数字の大文字で『NA』と記載してください。 ===== Google ColaboratoryのR用テンプレートをコピーして名前をつけて保存 ===== 以下のテンプレートへ行き、Googleログインして、『ファイル』>『ドライブにコピーを保存』を順にクリックすると、自分のipynbファイルとして、そのままRを利用することができます。 https://colab.research.google.com/drive/1Wbt_tHd9KFEEszzXchwuFrhyCNR_KgtC {{:00.初めての医療統計rとezr:pasted:20191013-165744.png}} 今回は、191018_ggplot-boxplot-beesworm_001.ipynb という名前にしました。 {{:00.初めての医療統計rとezr:pasted:20191019-064414.png}} ===== 自前データのアップロードとread_excel()によるエクセルデータのRへの取り込み ===== 今回、Rに取り込みたい自前データ{{ :00.初めての医療統計rとezr:book3.xlsx |}}を、デスクトップに保存しておくものとします。 画面左上の『>』をクリックして、左側からタブのような画面を引き出します。 {{:00.初めての医療統計rとezr:pasted:20191019-064943.png}} 『ファイル』をクリック。 {{:00.初めての医療統計rとezr:pasted:20191019-065035.png}} 『アップロード』をクリック。 {{:00.初めての医療統計rとezr:pasted:20191019-065113.png}} book3.xlsx を選択して、『開く』をクリック。 {{:00.初めての医療統計rとezr:pasted:20191019-065944.png|}} {{:00.初めての医療統計rとezr:pasted:20191019-070028.png|}} 左側の画面に、book3.xlsxが表示されるので、右側のコードを入力する画面に以下を入力して、Shift+Enterを押して実行します。 # 後で使用するので、とりあえずtidyverseを使用するための準備 library(tidyverse) # read_excel()関数を使用するための準備 library(readxl) # d に、book3.xlsxの1番目のsheetをtibbleデータとして代入する d <- read_excel("book3.xlsx", sheet=1) # dの最初の数行を表示する head(d) str(d) {{:00.初めての医療統計rとezr:pasted:20191019-070555.png}} 上記のようにして、自前のエクセルデータをGoogle ColaboratoryのR上に取り込むことができました。 ===== geom_plot()関数を用いて箱ひげ図を描く ===== 以下のように入力して、Shift+Enterで、groupごとの箱ひげ図を作成します。 # ggplotのgeom_bosplot()関数を用いて箱ひげ図を描く ggplot(d, aes(x = group, y = glucose)) + geom_boxplot() + theme_classic() {{:00.初めての医療統計rとezr:pasted:20191019-075647.png}} これで、箱ひげ図を描くことができました。 ===== geom_dotplot()関数を用いてbeesworm蜂群図(ほうぐんず)を描く ===== 以下のように入力して、Shift+Enterで、groupごとの蜂群図(ほうぐんず)を作成します。 # geom_dotplot()関数を用いてbeesworm 蜂群図(ほうぐんず)を描く # https://wikidocs.net/40935 ggplot(d, aes(x = group, y = glucose)) + geom_dotplot(binaxis = "y", stackdir = "center") + theme_classic() {{:00.初めての医療統計rとezr:pasted:20191019-080521.png}} ===== Rのデータセット関連のメモ ===== https://qiita.com/wakuteka/items/95ac758070f6f4d89a96 @wakuteka 2016年12月26日に更新 R言語 標準データセットの私的まとめ csvを取り込みたいとき library(tidyverse) setwd(エクセルファイルのある場所) data <- read_csv("data.csv") # エクセルファイルを取り込みたいとき library(tidyverse) library(readxl) setwd(エクセルファイルのある場所) data <- read_excel("data.xlsx", sheet = 1) tribble()関数を用いる方法 library(tidyverse) d <- tribble( ~id, ~highFatDiet, ~medicine, ~group, ~glucose, A1, "nasi", "nasi", A, 76, A2, "nasi", "nasi", A, 82, ) d ===== Rで箱ひげ図のリンク ===== 箱ひげ図は、「箱」と「ひげ」を用いて、データの中央値、ばらつきを可視化するための図です。 『中央値』とは、例えば、11個の数値からなる集合があったとき、大きさが上から数えて6番目(下から数えても6番目の大きさ)の数値です。 同様に、『第1四分位数』は、下から数えて3番目の数の値です。 『第3四分位数』は、上から数えて3番目の数の値です。 https://udemy.benesse.co.jp/office-enhance/microsoft-office/box-and-whisker-plot.html 2018/06/25 箱ひげ図の概念から作り方まで、わかりやすく解説! →箱ひげ図の説明と、エクセルでの描画方法がのっています。お勧めです。 https://mathwords.net/tyuouchi 中央値の意味と求め方、偶数の場合 最終更新日 2019/04/13 https://kazutan.github.io/fukuokaR11/intro_ggplot2.html#box_plot ggplot2による可視化入門 fukuoka.R #11 kazutan 2018/9/15 ===== Rでbeesworm蜂群図(ほうぐんず)のリンク ===== beesworm蜂群図(ほうぐんず)とは、数値からなる集合があったとき、それを全て点などで表示したものです。 https://wikidocs.net/40935 (04) Exercise >> geom_dotplot # beesworm 蜂群図(ほうぐんず) # https://wikidocs.net/40935 ggplot(airquality, aes(x = factor(Month), y = Wind)) + geom_dotplot(binaxis = "y", stackdir = "center") https://ninosanpo.hatenablog.com/entry/2018/08/03/141738 2018-08-03 Rmarkdownで蜂群図(ほうぐんず)を書いてみよう! https://rpubs.com/nishikosh/ggplot2 ggplot2を用いてグラフ作成 S.Konishi 2019-01-18 ===== Rで平均値と標準偏差のグラフのリンク ===== https://www.biodr-goro.com/entry/2019/04/24/224904 ggplot2でお絵かき:プロット+平均値+標準偏差を示す 20200622 ===== 論文用の白黒の図の作成とtheme_classic() ===== https://qiita.com/uri/items/615653e83642d7e475de @uri 2015年06月08日に更新 学会発表のためのggplot2の設定めも https://gist.github.com/soh-i/6332270 ggplotの図を透明背景にする https://note.mu/shigeruhanano/n/n1e1333f293b2 Rのggplot2でグラフを描く Shigeru Hanano (花野 滋) 2018/10/02 15:58 cowplot... ===== ソースコード ===== https://colab.research.google.com/drive/1Jv0eQ0g7K09FfQvUIN4U5ewEW5qphZLV?hl=ja ===== リンク ===== 目次:[[00.初めての医療統計rとezr:index.html|初めての医療統計RとEZR]] 前:[[00.初めての医療統計rとezr:06.colaboratoryでrで折れ線グラフ|06.Google Colaboratoryで時系列データで折れ線グラフを描画]] 次: