kazutan

ご無沙汰しております。
最近めっきり表に出てなくて忘れ去られているかもしれませんが、日々活動しております。
近況はまた別の機会で。

さて、タイトルの通り『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!!

--

--

これはベイズ塾 Advent Calendar 2020の6日目の記事です。
というわけで、久しぶりに記事をポストします。

塾内はアカデミア関係者が多いですが、私は少数派の企業勤めのデータサイエンティスト兼マネージャーをやってます。ベイズ塾には初期から参加してて、もう若いメンバーをあたたかく見守るポジションになってます。主にRや技術的なサポートをしたり、データサイエンティストのキャリアとかについて紹介とか説明とかしてたりしてます。

さて本題です。

このアドベントカレンダーは「ベイズ塾にいる人ってどんな人なの?」という問いに答えるような、そんなものを提供することが目的の一つになっていると(少なくとも私は)思うので、私のことを書こうとは思うのですが…どうも自己紹介というものが対面でも文面でも苦手です。
でも苦手だから避けてると先に進まないので、タイトルのようなテーマで少し自分語りをしてみようかと思った次第です。

お話その1: Webサイト
大学に入学すると情報系科目が受講できるようになったのですが、当時所属大学ではPCの台数や情報教室の施設などの都合で、実際にPCに触れる演習は抽選制となっていました。私はもちろん実際に触りたかったのでエントリーしましたが落選。友人が「今日はメール使ったぜ」とか「ホームページ作った」とか楽しそうに会話しているのを横目に座学でした。
さすがにこのままでは悔しい、ということで時間割の隙間や講義終了後に図書館内の情報教室に行き、本棚にあるPC系の書籍を読みながらメールやWebサイトを作っていきました。
やがて当時演習を受けていた友人の多くは更新しなくなりましたが、私はその後も自分なりに更新を続けていきました。
このあたりの経験が、今の自分に影響してきたなぁと最近では感じます。

お話その2: 院生の交流イベント
院生時代、とある冬のイベントで他の大学院メンバーと学会以外で交流する機会があったのですが、そのときにとある方から「院生だけで集まって気兼ねなく研究のことを議論できたら楽しいよね」と提案がありました。当時はSNSなどなく、地方の大学では他大学の同世代のメンバーと交流するというのがなかなかに難しく、ぜひやりたいと私も賛同しました。そして他のメンバーも賛同し、「学会前日に院生だけで集まって発表・議論する」会がスタートしました。
初回に主要メンバー的なボジションで参加し、その次からは数回幹事として発表したり会の調整をしたりしてました。この会は非常に刺激的であり、当時はSNSなどなかった時代なので貴重な交流の機会となりました。
やがて私は就職したので幹事を引き継いだのですが、今もその会は続いているみたいでやっぱり嬉しいです。

お話その3: Hijiyama.R
その2から一気に時間が進みますが、決して何も作らなかったわけではなく紹介しづらいだけです、はい。
Rに触れるようになり、なんか面白いなって思い始めてきた頃です。広島にもHiRoshima.Rがあったのですが、幹事の方が忙しくてしばらく開催されていませんでした。そこで「もう自分で立ち上げてしまおう」と考え、このベイズ塾のメンバーやRに興味がある近隣の人に声をかけて「Hijiyama.R」を開催しました。
やはり自分で開催するとかなりのモチベーションになり、半年に1回、いろんなネタを生み出しては公開していきました。ベイズ塾のメンバーも、このHijiyama.Rにとっておきのネタをぶつけてきたりして、非常に楽しかったです。

お話その4: tubeplayR
これは「あったらいいなぁ」という思いはあったけど、どうしたらいいかわからなかったんです。そんな中、突然アイデアが浮かんできて速攻で作りました。試行錯誤の流れは以下を参照してください:
RStudioでYouTubeを流してみる
ネタのインパクトが抜群だったで、ほぼ私の代名詞的になってますね。仕組みが分かればコードも短いし簡単そうに見えるのですが、当時これを作れる人はそんなにいなかったんじゃないかなぁ…。
なお、ここで秘めていた思いは、以下のスライドの最後の方にあります:
目指せyoutubeRの星

お話その5: Rをベースにした自動分析レポートシステム
データサイエンティストとして分析業務をこなすようになったのですが、「Rでレポーティングを自動化するようなの、作りたいなぁ」と考えてました。てことで、作ってきたのがこのあたりです:
- 週次KPIレポートをconfluenceへUpするためにやったこと
- R, Git, Droneを使ってconfluenceへのKPI予測レポートを自動化した話
社内でもこういうのは今までなかったので、そういう意味ではタイトルの通り「ないから作った」ですね、はい。

……とまあ、昔話からやや最近の話まで5つほど持ってきました。
昔ほどの勢いはないかもしれないけど、自分の根底的にはやっぱり何かを作っていたい気持ちがあります。なのでこれからも自分のニーズや興味に忠実に、いろいろ作っていきたいと思います。これからもよろしくお願いします。

Enjoy!

--

--

夏休みだし、思い立ったので、徒然と。 Managerになって数カ月経過。 当初は業務内容が一変して戸惑ったり色々思うことがあったりしたけれど、周りからのあたたかいサポートにより少しずつManagerとして前へ進めているのかなと、個人的には感じてる。 でも課題はまだまだあるし、Managerとしてやっていきたいことはたくさんある。今まで以上にバランス感覚を磨きながらいきたい。 自宅でPCを開く時間が極端に少なくなった。 これは仕事を持ち帰らないというMyルールと、休日はできるだけ家族と過ごすというかねてからの目標を達成するためではある。休日は家で家事したり料理したり、あるいは子供二人と三人でいろいろ出かけたりしてる。これが実に楽しい。 子どもたちを連れ回してあちこちのイベントに参加しては写真に撮って残していく。父親業を満喫してる。 「自分に向いていること」について考える時間が増えた。 これまで私は「データをゴリゴリ回して分析したりコードをひたすら書いていく」ことが自分に向いていると思っていた。でもそうではないらしい。 自分の評価と他者の評価が異なるのは当たり前だし、それは外のニーズにも依存するものだと思う。そう考えると、自分を置いている環境こそが良くも悪くも評価軸を規定するものであって、その意味でも自分をいろんな環境に放り込ませていくのは大事なのかなと思う。 でも本質的に私はEnjoy driven、Enjoyへの最適化しかできない人間なので、どこかに収束していくんだろうなっておぼろげに考えたりしてる。