宇宙船本

「改訂2版 Rユーザのための RStudio[実践]入門〜tidyverseによるモダンな分析フローの世界」

著者の一人である紀ノ定先生よりご献本いただきました。ありがとうございます。宇宙本として知られていた第1版の改訂版として発売された本です(電子書籍が5/31,紙書籍が6/3)。この本では,Rstudioの導入から実践までをtidyverseパッケージの利用を中心に置きながら解説されています。元々,宇宙本を購入していたので,改めてですが,この本で取り上げられている内容を紹介したいと思います。

「改訂2版 Rユーザのための RStudio[実践]入門〜tidyverseによるモダンな分析フローの世界」

Rstudio

RstudioはRの統合開発環境(IDE)です。ざっくりいえば,Rをより便利に使えるツールです。Rstudioを利用することで,実に様々なことが可能です。例えば,プロジェクトの利用によって研究ごとに一元化した分析環境の構築,Rmarkdownの利用による分析とドキュメントの統合,サジェスト機能によるコード補完などなどです。ここには書き切れないほど色々と便利な面があるので,詳しくは宇宙船本を読んでください。

言いたいことは,データ分析に関する研究・教育を行う上でRstudioは強力なツールであるということです。研究の再現性との関連においても,Rmarkdownを使えば,分析結果を手入力することなく,結果の文章に入れるなんてこともできたりします。さらに,国里先生が作成したRmarkdownテンプレートを使えば,心理学研究に投稿できる論文も書けたりします。

古いtidyverseから新しいtidyverseへ

tidyverseは,前処理用のdplyrやtidyr,可視化・作図用のggplot2といったモダンなデータ分析に必要な様々なパッケージを含むパッケージです。tidyverseを利用すれば,メインの分析(t検定とか分散分析)とか以外の分析に関する部分のほとんどを処理することができます。非常に便利なtidyverseなのですが,更新頻度がかなり速くて,古い関数を使うと「それは停止します」という警告がでたりすることがあります。宇宙本に掲載されているコードにも当然そういった更新停止した関数が含まれていたんですね。しかし,古い宇宙(tidyverse)から新しい宇宙(tidyverse)に移動するために,宇宙本は宇宙船本に生まれ変わってくれました。

例えば,前処理で頻繁に利用するデータをワイドデータ⇔ロングデータと変換するために用いられるgatherとspreadという関数があったのですが,アップデートによってpivot_longerpivot_widerへ変更されていますが,宇宙船本ではpivot_lognerpivot_widerに対応した説明が行われています。たしかに,gatherspreadだと,どれが変数名でどれが変数の値になるのかの対応が記述する際に混乱することが多くて,試してはやり直してということが多かったんですね(単純にkeyvalueという引数が何に対応しているのかがわからなくなる僕の問題かも)。ですが,pivot_longerだと,names_to, values_toという引数に変わったので,引数名からわかりやすくなりました。lここでは象徴的だったpivotを取り上げましたが,他にも更新に対応した内容になっています。

文字列処理に関する内容が付録Aで追加

個人的に良いと感じたのは,文字列処理に関する内容が付録Aとして追加されたことです。stringrパッケージとして文字列処理のやり方が掲載されています。研究で使う文字列処理として,よくあるのがGoogleフォームの回答です。「1 まったくあてはまらない」のような選択肢のある質問紙をGoogleフォームで作成した場合,回答も「1 まったくあてはまらない」と記録されてしまうので,「1」だけを取り出したい場合によく遭遇します。これは,stringrのstr_sub関数を使えば簡単に抽出できます。

たまに記憶実験の刺激を作ったりする時に,文章の後ろから2文字だけを抽出したいことがありますが,これもstr_sub関数で可能です。lab.jsのデータの前処理をする際には,sender_idを元に抽出することがよくあるんですが,前方一致検索を行うstr_starts関数とdplyrのfilter関数を組み合わせることで可能です(やり方)。しかしですね,str_starts関数を使わなくても,str_detect関数と正規表現を使えば,前方検索などの様々な検索が実現できるということをこの本を読んで知り,とても参考になりました。

まとめ

まだまだ書き切れない役立つ内容が書かれていますが,まとめます。Rstudio,tidyverse,Rmarkdownは研究を実施する上で不可欠になりつつあります(個人の感想)。研究の効率化や再現性の確保の推進剤としても,これらの知識・技術は重要です。ある程度Rについて勉強してからがよいとは思いますが,オススメの一冊です。

*献本していただいただけで,COIはありません。

小林 正法
小林 正法
Principal Investigator

関連項目