講談社サイエンティフィク様((講談社サイエンティフィクさん (@kspub_kodansha) / Twitter. Twitter. Accessed February 21, 2021. https://twitter.com/kspub_kodansha))より、実践Data Scienceシリーズの第三段「データ分析のためのデータ可視化入門((キーラン・ヒーリー. 実践Data Scienceシリーズ データ分析のためのデータ可視化入門. 講談社; 2021. https://www.amazon.co.jp/dp/4065164044))」をご恵贈いただきました。ありがとうございます。
はじめに
私は、これまで医学関係の書籍をご恵贈いただくことは何度かありましたが、データサイエンス関係の書籍をご紹介いただくのは初めてです。
R に初めて出会ったのは 約10年前の医学生の頃でしたが、作業ディレクトリなどの環境設定やデータ読み込みの段階で、使い方がよく分からず、周りに相談できる人もいなかったため、すぐに挫折してしまっていました。大学院の頃は SPSS で解析をしていましたが、いつか R も使えるようになりたいと思いながら、本格的に勉強し始めたのが博士論文を書き上げたあとの2017年の秋でした。
2016年に誕生した tidyverse(タイディーヴァース)((Tidyverse. Accessed February 21, 2021. https://www.tidyverse.org/)) も徐々に普及し始めて、2018年に発売された宇宙本((松村優哉, 湯谷啓明, 紀ノ定保礼, 前田和寛. RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−. 技術評論社; 2018. https://www.amazon.co.jp/dp/4774198536))が私のRに対するイメージを大きく変えてくれました。その後も研鑽をつづけて、いよいよ恵贈いただける身になったことを大変感慨深く思います。
概要
さて、こちらの「データ分析のためのデータ可視化入門」は、「Data Visualization A practical introduction」((Data Visualization. Accessed February 21, 2021. https://socviz.co/))の翻訳書です。英語の原著はネット上でも公開されているので、内容をまず知りたい場合は、そちらを参考にされても良いかもしれません。
この本は、学生や実務家がデータを定量的可視化して研究結果を最大限に活用するために必要な実践的なスキルを提供します。
・Rとggplot2を使用したハンズ・オン形式の実践的な入門を提供します。
・tidyverseを使うことでRの作業をより簡単に、より一貫性のあるものにする方法を示します。
・データセット、コード、関数が含まれたパッケージを含んでいます。
――エリザベス・ブルッフ(Elizabeth Bruch) ミシガン大学
"本書はData Visualization(https://t.co/m6B6vBMoBv )の全訳です。Kieran Healyはデューク大学の教授(社会学)です。ブログ(https://t.co/ryYO2N0dAQ )では社会学を中心とした話題について解説や考察を加え記事を多く投稿し、ggplotによる図やRコードが添えられています" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
翻訳書である本書の外装やレイアウトは、公式のtwitterで紹介されています。
中身はこんな感じです。原書と同じ本文レイアウトにしました。 pic.twitter.com/ldRIggsNmY
— 講談社サイエンティフィク (@kspub_kodansha) January 22, 2021
目次と特徴


第1章 データを見る
第2章 さあ, 始めよう!
第3章 プロットを作る
第4章 正しい数値の示し方
第5章 データの整形・ラベル・メモの追加
第6章 モデルデータの可視化
第7章 地図を描画する
第8章 プロットを整える
付録A
「なぜデータを見るのか」という1節から始まる「データを見る」という1章が、本書のまず最初に書かれています。最近はわからないこともググればすぐに解決することも増えました。しかし、その検索したページには手順は記載がありますが、思考法が記載されていることは稀です。
本書の特徴は、既に紹介されている多くの書評((das_Kino. 【書評】データ分析のためのデータ可視化入門. nora_goes_far. Published 1611638505. Accessed February 21, 2021. https://das-kino.hatenablog.com/entry/2021/01/26/142145))((書評「データ分析のためのデータ可視化入門」|Maxwell|note. note(ノート). Accessed February 21, 2021. https://note.com/maxwell/n/nab38d2b5648c))((ill-identified. [書評]『データ分析のためのデータ可視化入門』と最近の R グラフィックスパッケージ事情. ill-identified diary. Published 1612359634. Accessed February 21, 2021. https://ill-identified.hatenablog.com/entry/2021/02/03/224034))((データ分析者さん以外にもおすすめしたい『データ分析のためのデータ可視化入門』|hanaori|note. note(ノート). Accessed February 21, 2021. https://note.com/hanaori/n/ne3ef7b898a62))で言及されているように、How To だけではなく、可視化の Mindset (Why) に記載があることに大きな価値があると考えています。
"本書の魅力は「データをどうやって可視化するのか」に関する具体的な手順(作図の技術)を丁寧に解説することと、「データを可視化するとはいったいどういうことか、なぜそうするのか」(作図の思考法)を伝えることを同時にやってのけている点です。" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
"よくないグラフはどこにでも転がっています。よりよいグラフは手の届くところにあります。実際的なデザインや可視化の問題に直面した場合には、ドキュメントの中から問題点の解決策を見つけ出したり、自分たちの手でその代わりになる解答を導き出したりしなければなりません" https://t.co/iIcPnhYrW3
— Shoei (@shoei05) January 26, 2021
例えば、基本的な話で恐縮ですが、ggplot2の使い方として、
p <- ggplot(mtcars, aes(x = as.factor(gear))) +
geom_bar()
p
Code language: HTML, XML (xml)
と原型を作成してから、一度プロットしておき、
p2 <- p + coord_flip()
p2
p3 <- p2 + theme_bw()
p3
と、順を追ってオブジェクトを保存して確認していく方法について、本書では「なぜ」そうするかについても言及しながら、この方法を推奨しています。この方法自体は、本書以外の多くの記事にも記載はありますが、その理由や考え方について記載しているものは少ないと思います。
私自身、目的のプロットを作成することのみに主眼をおいて、一気に ggplot2 の構文を足し合わせて、最終産物のみプロットすることをよく行います。ただ、この方法だと、構造・文法を意識しながら少しずつ足し合わせていくことで得られる思考過程をスキップしてしまい、可視化に対する考え方を醸成していくきっかけを削いでしまってもいるかもしれない、ということに留意しなければなりません。
"ggplotの本当の強みはそれを支えるグラフィックスの文法にあります。その文法はグラフの作り方によらず、グラフを読み取って解釈するためのモデルです。グラフの構造を解剖できるようになれば、簡単にそれを自分の手で再現するコードの概要をスケッチできるようになります。" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
地理空間データの可視化について
私も地理空間データを扱う人間として、可視化する際の心がけとしての考え方は、とても勉強になりました。
"データが特定の空間単位で収集されたり、グループ化された場合であっても、地図を表示するのが最善の手法なのかを常に確認する必要があります。多くの州や郡、国のデータは、それ自体を表す地理的な空間領域を示すことになり、適切な空間領域を表しているわけではありません" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
"報告内容のわずかな違いがデータのコーディング方法と組み合わさることで、空間的に誤解を招くような、実質的に誤った結果を導くことになります。…特に地図はこの影響を受けやすく、可視化した後に問題点を検出するのは困難です。" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
ネクストステップとして
本書では2つの道が紹介されていました。一つはコーディングの練習を続けること、もう一つは他の人が作ったグラフをみて、本書で学んだ内容を活かして、図の構造とともに、暗に含まれている構造にも意識をしてみる、という道です。
前者のステップにおける次の教科書として、tidyverseについてより詳しく解説のある「Rではじめるデータサイエンス((Wickham H, Grolemund G, 大橋真也. Rではじめるデータサイエンス. オライリージャパン; 2017. https://www.amazon.co.jp/dp/487311814X))」と「R Programming for Data Science((1. R Programming for Data Science. Accessed February 21, 2021. https://bookdown.org/rdpeng/rprogdatascience/))」が紹介されていました。「Rではじめるデータサイエンス」を始めとするオライリージャパン社の書籍はだいたい持っています。どれもその厚さに圧倒されそうになりますが、中身はとても読みやすく、分かりやすい内容なのでおすすめです。
"(本書を読んだ)あなたが、さらに前に進むには主に2つの道筋があります。まずは、自信を持ってコーディングの練習を続けていくことです…2番目の道は、他人が作ったグラフを見て考えることです。ただし、最初からコードが一緒に紹介されている例だけを見ていてはいけません" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
"次に来る教科書は『Rではじめるデータサイエンス(https://t.co/YPUiAzPrbT )』です。本書では多少触れましたが詳細にはtidyverseの構成要素について述べられています。その他のお勧めできるテキストは「R Programming for Data Science
— Shoei (@shoei05) January 26, 2021
(https://t.co/MyxSiWNSZN )」です。" https://t.co/iIcPnhGQxt
他人のグラフをみながら勉強する方法として、ggplotと他のRのツールを使って描かれたいろいろな種類のグラフを集めた「The R Graph Gallery((Holtz Y. The R Graph Gallery – Help and inspiration for R charts. The R Graph Gallery. Accessed February 21, 2021. https://r-graph-gallery.com/))」とデータ可視化に関する多くのトピックを扱っている「Policy Viz((Learn Data Visualization & Better Presentation | Policy Viz. PolicyViz. Accessed February 21, 2021. https://policyviz.com/))」が紹介されていました。
"他の人が作ったよいプロットを見る時には、図の中身を見るだけでなく、その図の明示的な構造とともに、暗に含まれている構造にも少しずつ目を慣らしていくと良いでしょう。どの変数がマッピングされているのか、色・塗りつぶし・形・ラベル、どのようなgeom関数が必要か…" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
"「The R Graph Gallery(https://t.co/AanZICd1fv )」というサイトではggplotと他のRのツールを使って描かれたいろいろな種類のグラフを集めた便利なコレクションがあります。「Policy Viz(https://t.co/2MaVpek6mS )」はデータ可視化に関する多くのトピックを扱っています" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021
より深く地理空間データを学びたい場合については、別途資料が必要だと思います。最近人気の出ている sf パッケージ((yutannihilation. RでGISをやるときにはsfパッケージ、という世の中になるらしい。. Technically, technophobic. Published 1483706013. Accessed February 21, 2021. https://notchained.hatenablog.com/entry/2017/01/06/213333)) はまだどの書籍にも解説は少ない印象です(オススメがあったら教えて下さい)。私は、地理空間データについては、こちらの「Rによる地理空間データ解析入門((Brunsdon C, Comber L. Rによる地理空間データ解析入門. 共立出版; 2018. https://www.amazon.co.jp/dp/4320124391)) 」が参考になりました。ただ、この本もsf が登場する以前に書かれたものであり、sf 関連の話題は appendix に記載があるのみです。上述の本の訳者である @yutannihilationさん((Hiroaki Yutaniさん (@yutannihilation) / Twitter. Twitter. Accessed February 21, 2021. https://twitter.com/yutannihilation))に某コミュニティ((r-wakalang へようこそ. Qiita. Accessed February 21, 2021. https://qiita.com/uri/items/5583e91bb5301ed5a4ba))でお伺いした際には、Geocomputation with R((Muenchow RL Jakub Nowosad, Jannes. Geocomputation with R. Accessed February 21, 2021. https://geocompr.robinlovelace.net/))(英語)とRを使った地理空間データの可視化と分析((地理空間データの基本 | Rを使った地理空間データの可視化と分析. Accessed February 21, 2021. https://tsukubar.github.io/r-spatial-guide/introduction.html))(日本語)をご紹介いただきました。
また、サポートページで正誤表が随時更新されています。
発売から一週間足らずですが、多くの方の手に届いているようで嬉しいです。
— Uryu Shinya (@u_ribo) February 3, 2021
見つかった誤りに関してはお詫び申し上げます。
サポートページにて正誤表を用意してあります。
また、報告用のテンプレートがあります。
「誤植」「コード」「その他」に分けていますのでご活用いただければ幸いです。 https://t.co/FbiXYpFQf1 pic.twitter.com/DI5l1INV4l
最後に
データを目にしたとき、それをわかりやすく適切に可視化するために必要なものは、決して方法・技術だけでは成し遂げられません。コーディングの練習と、他人の作ったグラフを見て学ぶときも、可視化に対する考え方・思考法が必要です。本書で学べるような思考法が、可視化のためのMindsetとして、生涯学習の礎となり役立つだろうと考えています。
"データの分析を行う際に、可視化はデータの中にある特徴を炙り出します。可視化は、あなたが直面した避けられない過ちの発見とその修正を助けてくれます。そしてアイデアとそれに対する良いデータを持っているときに、本書で学んできたデータ可視化が役に立つでしょう。" https://t.co/iIcPnhGQxt
— Shoei (@shoei05) January 26, 2021