編集後記『超入門! Rでできるビジュアル統計学 学会・論文発表に役立つデータ可視化マニュアル』
医学領域専門書出版社の金芳堂です。
このマガジンでは、新刊・好評書を中心に、弊社編集担当が本の概要と見どころ、裏話をご紹介し、その本のサンプルとして立ち読みいただけるようにアップしていきたいと考えております。
どの本も、著者と編集担当がタッグを組んで作り上げた、渾身の一冊です。この「編集後記」を読んで、少しでも身近に感じていただき、末永くご愛用いただければ嬉しいです。
◆ ◆ ◆
■書誌情報
『超入門! Rでできるビジュアル統計学 学会・論文発表に役立つデータ可視化マニュアル』
著:藤井亮輔(藤田医科大学医療科学部医療検査学科予防医科学分野 助教)/鈴木康司(藤田医科大学医療科学部臨床検査学科予防医科学分野 教授)
B5変型判・240頁 | 定価:3,960円(本体価格:3,600円+税)
ISBN:978-4-7653-1880-8
取次店搬入日:2021年10月01日(金)
記述統計学とそれに基づいたチャートの意味、使い方、作り方をまとめた一冊。従来の医療統計学のテキストにはみられないレベルでの記述統計学の解説と、実際に論文や学会発表のときに使えるRを使った可視化の手順が分かる。
◆ ◆ ◆
■編集後記
こんにちは。二重窓生活なので台風の強風に気づかないAです。
10月1日に藤井亮輔先生&鈴木康司先生著『超入門 Rでできるグラフィカル統計学 学会・論文発表に役立つデータ可視化マニュアル』が発売されます。
この企画、New York Timesのアメリカ大統領選特設サイトが、開票状況の変化をグラフィカルに表現していて、データ可視化技術の素晴らしさに感嘆したのがきっかけです。感嘆する一方で、医学論文とそれを利用した医学書のデータ可視化技術ってしょぼすぎやしないか、と。
治療行為や薬の効果の確認は統計学的検定、あるいは推定で結論付ければ問題ない、グラフ? あんなのは飾りです、くらいに思っている人も多いかもしれません。たしかにt検定から生存時間分析まで解説した医療統計学の入門書って何冊も出ています。皆さんの関心の高さゆえのレッドオーシャンです。
そこで思い出してみてください。医療統計学書の前半、記述統計学のページ数の薄さを。極端な話、箱ひげ図と散布図(+回帰直線)が一枚ずつしか載っていないじゃないですか!(暴言)
つまり多くの医療統計学の入門書には2変量の記述統計しか説明がないんですね。RCTや傾向スコアマッチングであれだけ変数を調整するのでご存知と思いますが、現実のデータは非常に複雑です。人間はデータベースのテーブルの数字だけみて、データ構造をうまく理解できません。そこで出てくるのが可視化技術です。色々グラフを見て理解する、理解してもらう。そんな本欲しくないですか?。
つまり医療統計学分野における記述統計学とデータ可視化論はブルーオーシャンであり、本書はこの領域のファーストペンギンならぬファーストデータザウルスなのです!(ビジネス用語を連発していたのはこれが言いたいだけでした。すみません。)
※ データザウルスというのは、要約統計量(平均、標準偏差、相関)がまったく同じなのに、散布図を描くと全く異なる印象的な図を描く12のデータセットのことです。詳しくは12匹のデータ・ザウルス、あるいは本書105頁を参照してください。
というわけで、統計ソフトRを使って、臨床研究や医学研究分野での記述統計学・可視化技術をブラッシュアップするべく、藤井先生と鈴木先生に執筆をお願いして本書が誕生しました。
判型は医療統計学書定番のA5サイズではなく、B5変形判です。グラフをたくさん掲載でき、縦が短いので文字量の圧迫感が控えめで読みやすいと思います。医学書ではあまりありませんが、技術書やデザイン系の本だとスタンダードなサイズです。
様々なグラフの特徴や欠点を論じながら、効果的・適正なグラフとは何かを示しています。地図グラフの使い方も入れました。公衆衛生・疫学領域の需要にも応えていると思います。
基本的にggplot2を利用してグラフ描画をするためのRコードを全部載せているので、あのコードってどこ行った、みたいな人にも安心です。モノクロのグラフもユニバーサルカラーのグラフにも対応しているので安心です。
え? この図x-xのコードはどこですか?って。特設サイトにはそういった例示のためのグラフや、本文でモノクロにした図のユニバーサルカラー化にも対応しているので御覧ください。
それでは目次、序文、オススメ頁をご覧ください。オススメ頁は医療統計学入門書ではめったに見ることがないけれど、実はオススメな可視化技術密度プロット(5章pp.95-98)です!
◆ ◆ ◆
■目次
はじめに
Part1 Rの紹介と前準備
1.RとRStudioの基本
2.データの前処理
3.ggplot2の基本
4.データの種類について
本書で使用するsample.csvについて
本書で使用するパッケージのインストールについて
Part2 質的な変数のグラフ
第1章 データタイプ1(質的な変数・一変量)
1.棒グラフ(Bar chart)
2.円グラフ(Pie chart)
第2章 データタイプ2〔質的な変数・二変量以上(サブグループ)〕
1.横並び棒グラフ(Grouped bar chart)
2.積み上げ棒グラフ(Stacked bar chart)
第3章 データタイプ3〔質的な変数・二変量以上(独立したリスト)〕
1.ベン図(Venn diagram)
2.サンキー図(Sankey diagram)
第4章 データタイプ4〔質的な変数・二変量以上(入れ子)〕
1.ツリーマップ(Treemap)
Part3 量的な変数のグラフ
第5章 データタイプ5(量的な変数・一変量)
1.箱ひげ図(Box-whisker plot)
2.ヒストグラム(Histogram)
3.密度プロット(Density plot)
第6章 データタイプ6(量的な変数・二変量)
1.散布図(Scatter plot)
2.折れ線グラフ(Line graph/Line chart)
3.面グラフ(Area chart)
第7章 データタイプ7(量的な変数・多変量)
1.バブルプロット(Bubble plot)
2.ヒートマップ(Heatmap)
3.レーダーチャート(Radar chart/Spider web)
Part4 地理空間データ・カラーグラフの可視化
第8章 データタイプ8(地理空間データ)
1.基本マップ(Background map)
2.コロプレスマップ(Choropleth map)
3.カルトグラム(Cartogram/Value-area map/Anamorphic map)
4.バブルマップ(Bubble map)
第9章 カラーグラフの可視化
1.色のもつ意味とその役割
2.Rで使用できるカラーパレット
Column
グラフ描画の基本
Rでインタラクティブ・グラフを描く
日本語を使用したグラフを描く
Rでデータの不確実性を描く
地理空間データについて気をつけること
初めてRで地理データを活用したグラフを書きました
Training
1 練習データでグラフを描いてみよう!
2 練習データでグラフを描いてみよう!
3 練習データでグラフを描いてみよう!
4 練習データでカラーグラフを描いてみよう!
参考文献
本書を進める上で参考になる図書
Appendix:Trainingの解答
索引
あとがき
著者紹介
◆ ◆ ◆
■序文
本書の目的は、学会発表や論文執筆を控えた医療従事者向けに「どんなデータから、どんなグラフで、どんなメッセージを届けるのか」を改めて提示することです。
これまでに、出版されてきた医療者向けの統計学の書籍では、確率から回帰分析まで幅広いテーマを一冊で網羅することに注力され、記述統計に関する説明は限られていました。そのため、収集されたデータを用いた可視化の効果的な方法やその解釈を勉強する機会は十分にありませんでした。その結果として、可視化のためのツールは数多く開発されているものの、適切なグラフを選択して、目的とするメッセージを正しく伝えられない人が多くいるのではないかと思います。
このところ、研究だけでなくビジネス業界でもデータの可視化・ビジュアライゼーションが注目され、その類の書籍も多く出版されています。しかし、これらの書籍では、文字の大きさや配置、配色については熱心な説明がなされている一方で、データに対する適切なグラフの選択、グラフの解釈や注意点といった具体的な問題に踏み込んでいません。
こうした背景をもとに、臨床もしくはフィールドワークで収集した医学・医療データをどのようなグラフで記述するとよりメッセージが伝わるか、どんなポイントに気をつけると良いか、など具体的かつ明瞭に提示したいと考え、本書を執筆しました。ビッグデータ解析や人工知能が注目を集める昨今、難しい数理モデルを学習することに目移りしがちですが、基本的なデータを図示することが研究の第一歩となることを再認識してもらえると嬉しく思います。
このような目的を達成するために、本書では大きく4つのPartに分けて構成しています。
Part1では、本書を通じて可視化のために使用する統計ソフトRの基本的な紹介をしていきます。「Rは難しい」というイメージがあるかもしれませんが、綺麗なグラフを描くために。なんとか乗り切ってください!Part2では疾病の種類やアンケートデータなどに代表される質的な変数の可視化について学習していきます。さらに、Part3では血糖値や血圧、BMIに代表される量的な変数の可視化について学習していきます。最後に、Part4では地理情報を活用したデータの可視化についても解説していきます。
本書では各章で扱うデータタイプをはじめに提示し、それに適したグラフの紹介、そのグラフの解釈、注意するポイント、Rで描画するスクリプトの例という順番に解説しています。このような構成をとることで、みなさんの手元にあるデータをどのように図示するか「自分ごと」として考えられるように工夫し、より実践的な場面でも活用できる内容になっていると思います。本書が学会発表や論文執筆のお供として役に立てばそれほど嬉しいことはありません。
なお、本書は基本的に2色刷りとさせていただきました。そのため、第9章および本書ウェブサイトには、可視化の分野でも話題になっているカラーユニバーサルデザインに対応したグラフを用意しました。ぜひ、そちらも合わせてご覧下さい。
2021年8月
藤井亮輔
鈴木康司
◆ ◆ ◆
■サンプルページ
3.密度プロット(Density plot)
どんなグラフ?
箱ひげ図やヒストグラムと同じように、量的な変数において分布を表すときによく使用されているグラフです。この密度プロットでは観察したデータをもとに、カーネル密度推定という手法で連続的な分布を求め、それをグラフとして描いています。
密度プロットを使用する主な目的は、ヒストグラムと同じく分布の確認ですが、ヒストグラムに比べて複数の集団における変数の分布を重ねて描くことに長けているため、ある変数の分布を複数の集団間で比較するために用いられているのを論文中でも目にします。
◆ ◆ ◆
実際にグラフを見てみよう!
図5-8、図5-9でヒストグラムとして示したSBP とTG の2つの変数について、今回は密度プロットを描いてみます(図5-14、図5-15)。
ヒストグラムと同様に、横軸には連続的な変数をとっていますが、縦軸には確率が含まれています。この確率は、密度プロット内の塗りつぶされた面積の総和が1になるように設定されています。
縦軸の解釈として、図5-16のような場合を考えてみたいと思います。この図では、図5-13と同じ密度プロットを用いて、SBP が135 mmHg以上の部分を塗りつぶしています。この領域に含まれる割合を別途計算すると0.268となり、全体のデータの26.8% が含まれることが分かります。このように、横軸の一定の間隔に含まれるデータの割合を求めるときに縦軸の確率を使用していきます。
前述のヒストグラムでは各階級のエッジが邪魔をするので、重ねて描画することを苦手としています。しかし、密度プロットではエッジによる視覚的な影響は少なく、塗りつぶし色の透過率を調整することで、複数の集団のグラフを重ねて描くことが可能になります(図5-17)。
◆ ◆ ◆
ここに注意!
ヒストグラムと類似して、密度プロットではビンの幅を調整することで見え方の異なるグラフになります。その他にも注意すべきポイントがあるので見てみましょう。
1.ビンの幅が極端な場合、その分布を反映しない
密度プロットはビンの幅を作成者によって自由に変えることができます。これはヒストグラムと同様の考え方で、設定したビンの幅があまりにも広い場合や狭い場合には、その分布を正確に把握することはできません。図5-18を見ると、真ん中のグラフが分布を最も表現しているのが分かります。
適正なビンの幅を求めるものとして、さまざまな方法が提唱されていますが、R ではシーザーらによって提唱された方法をデフォルトに使用しています。
2.「重ねることに長けている」といっても重ねすぎると情報が読み取れないその分布を反映しない
前述の通り、密度プロットはヒストグラムよりも重ねて描くことには優れている点を紹介しました。しかし、実際に複数の密度プロットを重ねて描いてみると視認性は低下します。このように、複数の領域が重複する密度プロットを改善する方法として、1)リッジラインプロットを描く方法と2)密度プロットを個別に並べて表示する方法があります。
リッジラインプロット(Ridgeline plot/Joyplot)は、密度プロットを少しズラして描いていきます。図5-17をリッジラインプロットで描いたものを図5-19 に示します。ご覧の通り、それぞれの喫煙習慣に該当する3つの群のSBPの分布が非常に分かりやすくなっています。
次に、密度プロットを個別に表示していた方法を図5-20に示しています。この図でも各喫煙習慣におけるSBP の分布がはっきりと確認できます。さらに、リッジラインプロットと比較して、一変量の密度プロットと同じように、それぞれの値の取り得る確率を縦軸で確認できる点が優れています。
◆ ◆ ◆
R で実行するコード
今回は、サンプルデータのTG(図5-15)の密度プロットと喫煙習慣で層別化したSBP(図5-19)のリッジラインプロットを描いた場合のコードを下に示しています。
密度プロットの描画は、ggplot2に含まれるgeom_density 関数で実行できます。この場合は、bw というオプションでビンの幅が指定できます。今回は、デフォルトのまま描画します。
ggplot(data) +
aes(x = TG) +
geom_density(fill = “grey”, color = “black”) +
labs(x = “TG (mg/dl)”, y = “density”)
リッジラインプロットは、ggridges パッケージのgeom_density_ridges 関数を使用して描くことができます(5行目)。x には密度プロットを描きたい変数を、y には層別化する変数を指定します。その他に特別なコマンドは必要ありません。
library(ggridges)
ggplot(data) +
aes(x = SBP, y = Smoking, fill = Smoking) +
geom_density_ridges(color = “black”) +
scale_fill_brewer(palette = “Greys”, direction = -1) +
labs(x = “SBP (mmHg)”, y = “Smoking”) +
guides(fill = guide_legend(reverse = TRUE))
◆ ◆ ◆
■終わりに
今回の「編集後記」、いかがでしたでしょうか。このマガジンでは、金芳堂から発売されている新刊・好評書を中心に、弊社編集担当が本の概要と見どころ、裏話をご紹介していきます。
是非ともマガジンをフォローいただき、少しでも医学書を身近に感じていただければ嬉しいです。
それでは、次回の更新をお楽しみに!
◆ ◆ ◆