宇宙本とその次

はい、どーも僕です。

はじめに

宇宙本こと「RユーザのためのRStudio[実践]入門-tidyverseによるモダンな分析フロー」を読みました。

RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−

RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−

「はじめに」~「2章」は少々言葉が躍っている印象を受けましたが、全体を通してわかりやすく参考になりました。 RStudioを積極的には使っておらず、R自体も半年以上触っていなかった私でも読み込めたため、入門書として適切なレベルになっていたのかと思います。

もし誰かにRの書籍をオススメする機会があれば、本書をまず挙げます。

宇宙本を読み進めるなかで、宇宙本の次としてオススメしたい本がいくつか浮かびました。また、実際に宇宙本の後に読んだ本で、宇宙本の次としてオススメしたい本がありました。 ここではそのオススメを紹介したいと思います。

なお、既に宇宙本と他のR本との関係が下記ツイートでまとめられています。

宇宙本の次に読みたい

R for Data Science

宇宙本ではdplyr/tidyrパッケージを用いたデータフレームの操作が 紹介されていました。 tidyverseには他にも、因子型を操るforcatsパッケージや、 日時型(?)を操るlubridateパッケージ、 applyファミリーとサヨナラできるpurrrパッケージなど多くの有用なパッケージがあります。 これらを書籍で学ぶには先のツイートや宇宙本でも紹介されているとおり、 下記がオススメです。

R for Data Science: Import, Tidy, Transform, Visualize, and Model Data

R for Data Science: Import, Tidy, Transform, Visualize, and Model Data

ggplot2(第2版)

ggplot2パッケージに苦手意識を持った人には、 下記がオススメです。 一通り写経するとggplot2パッケージが自然に感じてきました。

ggplot2: Elegant Graphics for Data Analysis (Use R!)

ggplot2: Elegant Graphics for Data Analysis (Use R!)

Rによるテキストマイニング

本書には、dplyr/tidyrパッケージを駆使してたデータハンドリングや、 ggplot2とその派生パッケージによる可視化が数多く出てきます。 処理はいずれもパイプでつなげており、 写経していると宇宙本で言う所の「モダンなRによる分析」が手に馴染んできました。

理論には踏み込んでいないため、 テキストマイニングの知識がなくても読み込めます。

Rによるテキストマイニング ―tidytextを活用したデータ分析と可視化の基礎

Rによるテキストマイニング ―tidytextを活用したデータ分析と可視化の基礎

宇宙本で紹介されていた下記サイトを読んだことで、 本書の4章に載っていたバイグラムのテーブルを作成する スクリプトを、nを引数にしてngramのテーブルをつくるより汎用的な形にすることができました(たぶん)。

Programming with dplyr • dplyr

count_ngrams <- function (dataset, n) {
  str_n_words <- str_c("word", seq_len(n))
  sym_n_words <- map(str_n_words, sym)
  dataset %>%
    unnest_tokens(ngram, text, token = "ngrams", n = n) %>%
    separate(ngram, into = str_n_words, sep = " ") %>%
    filter(
      select(., !!! sym_n_words) %>%
      reduce(
        function(x, y) x & !(y %in% stop_words$word), .init = TRUE)) %>%
    count(!!! sym_n_words, sort = TRUE)
}

Pythonクローリング&スクレイピング

私見ですが、スクレイピングに関しては、 Pythonで学ぶのが良いと思います。下記の書籍がオススメです。

R Markdown: The Definitive Guide

最近、TLで下記サイトが流れてきました。 一通り読みましたが、RStudioでrmarkdownを使う際のリファレンスとして とても良さそうでした。

bookdown.org


以上です。誰か自分の未来のために