ご無沙汰しております。
最近めっきり表に出てなくて忘れ去られているかもしれませんが、日々活動しております。
近況はまた別の機会で。
さて、タイトルの通り『RユーザのためのRStudio[実践]入門』(通称「宇宙本」)の改訂版が出ます。2021–06–03刊行予定で、電子版は少し早く2021–05–31の予定です。
#宇宙本 の愛称で親しまれていましたが、今回は宇宙船からの表紙となっております。個人的には第1版が「この本でRStudio/tidyverseの宇宙を感じてほしい」という思いがありましたが、第2版では「この本でRStudio/tidyverseの宇宙へ旅立ってほしい」という思いがあります。ということで、 改訂2版は #宇宙船本 と呼ばれたいなぁ…
この #宇宙船本 については他の執筆者陣がすでに紹介記事をPublishしています。みんなそれぞれ胸の内に熱いものを持って書いていますので、ぜひ読んでほしいです:
私は今回も5章のR Markdownの章を担当しました。基本的なコンセプトについては第1版と同じなので、第1版のときに起こしたこちらの記事を読んでいただければと思います:
第1版からおよそ3年が経過し、R Markdownにまつわる状況・環境は大きく変わりました。改訂2版との主な差分は以下のとおりです:
- Visual Editor モードの紹介
- 既存の説明における記述・コードを修正
「たったこれだけか?! さっき大きく変わったって言ったじゃないか!!」と突っ込まれそうですが、あえてこれだけとしております。これは第1版執筆の時から「実践入門なのだから実践の門をノックしてくれる内容にしよう」と考えていて、今回も私の中にあるR Markdown入門の基準で内容を取捨選択しました。まだR Markdownを使ったことがない方や使い始めたという方を念頭にしていますので、すでに第1版を読んでいる方やr-wakalangで質問に回答している方にはもの足りないかもしれません。そこはどうかご了承いただきたいです。
とはいえ、書くかどうか悩んだものはあります。
Rmdによるスライド作成の詳細
これは前回悩んだ上で棄却しましたが、今回は当初書こうと思っておりました。ただ執筆していて「RmdスライドはどのFormatを採用するかで書き方がガラッと変わるので、やっぱり中途半端には書けない」と実感しました。
現在Rmdのスライドでよく使われているのは xaringan
パッケージで、国内だとさらに revealjs
パッケージあたりがきます。 revealjs
は多機能ですが色々しようと思うと正直なところ癖が強くて難易度がかなり上がります。また xaringan
に至っては、その実装上の理由から他のRmdスライドと記述方法がかなり異なります。このようにそれぞれで作法が異なるため、それを拾い上げているとRmdスライド作成だけで少なくとも1章分は必要になると判断し、今回も見送ることとしました。
このあたりは R Markdown Defenitive Guideなどを参照してください。
LearnRおよびTutorialタブの説明
LearnRはRmdをrenderしたhtmlをPreviewしたときに、そのhtml Preveiw上でRスクリプトの記述&実行を可能にする機能を追加できるRパッケージです。これにRStudioはネイティブ対応してTutorialタブがv1.3から実装されています。
これは教材やRのチュートリアルを作成する際には有力な候補であり、当初は改訂2版にて紹介しようと考えていました。
ただこれはbackgroundでShinyを実行させていることで実現させており、この内容を共有しようとするなら「Rmdファイル自体を配布」もしくは「Shinyが動いている環境下で公開」という形になります。そうなると5章の中でどう位置づけたらいいか迷い、5章での最大の問いかけから外れるものであると判断して見送りました。
Pandoc, Bootstrapのアップデート要素
これらがメジャーアップデートがあって、それにより様々な要素/機能が追加されています。本書ではこれに付随して最低限必要な要素だと思った部分には脚注などで追記修正していますが、大きく取り上げることはしないことにしました。
どう考えても入門じゃなくなっちゃいますし。
…この他、R Markdownに関する私の思いについてはまた別の機会に。
上記のようにDropした要素はありますし普段からR Markdownを活用している人から見たらこの章はもの足りないと感じるかもしれませんが、それでもはじめて触れる人には入門として提供できるものになってると私は信じています。
tivyverseな宇宙へRStudioという宇宙船で旅をする際に、この本がみなさんの横にあって旅の道標になってくれればと願っています。
Enjoy!!