RStudioのin-IDE tutorialsにコンテンツを追加する

# はじめに
　RStudio 1.3から新機能として`learnr`パッケージによるチュートリアル機能（in-IDE tutorials）が組み込まれました。

![RStudio_in_IDE_tutorials.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101537/249894e8-0c8a-7e0d-bda2-c73409c53b1e.png)

　今までも`learnr`パッケージを用いればチュートリアルファイル（Rmd形式）を開いて実行することによりインタラクティブなチュートリアルを実行することができましたが、in-IDE tutorialsはファイル操作などを意識せずに実行することが可能です。インタラクティブなチュートリアルには様々な使い方が考えられますので、是非、この機能を使いこなしたいところです。  
　しかし、[RStudio Blog](https://blog.rstudio.com/2020/05/27/rstudio-1-3-release/)などではこの機能に対して非常に簡単にしか触れられておらず、どのようにしてチュートリアルコンテンツを追加するのかなどがよくわかりません。  

　そこで、in-IDE tutorials機能にチュートリアルファイルを追加する方法を調べましたので簡単に紹介します。  

# 方法
　結論から言えば、

> チュートリアルファイルを含むパッケージをインストールするだけ

です。インストールされているパッケージからRStudioがチュートリアルファイルを探し出しTutorialペインに自動的にリストアップしてくれます。  
　つまり、チュートリアルファイルだけ（説明用のヘルプもあった方がベター）のパッケージを作成すればin-IDE tutorialsを利用することができるのです。Rのパッケージを作成するにはRStudioと`pkgdown`パッケージを利用すれば簡単に作成できます。


## 作成環境
　RとRStudioが動作する環境であればパッケージ作成ができます。

　      | バージョンなど                                        | 備考
--------|----------------------------------------------------|-----------------------
R       | 3.6 or later                                       | 4.0.x 推奨
RStudio | 1.3 or later                                       | Desktop or Server
Package | `pkgdown`, `learnr`, `shiny`, `knitr`, `rmarkdown`, `tidyverse` | 


## 作成手順
　パッケージの作成は`pkgdown`パッケージを利用します。

1. Rに必要なパッケージをインストールする
2. RStudioでパッケージ作成用プロジェクトを作る
3. チュートリアルファイルを所定の位置に作成する
4. DESCRIPTIONファイルなどパッケージに必要なファイルを修正する
5. パッケージチェクを行う
6. パッケージをインストールしてチュートリアル機能を確認する
7. （必要に応じて）パッケージをビルドして配布する


### 必要なパッケージをインストールする
　以下のコマンドまたはRStudioのGUIからパッケージ作成に必要なパッケージをインストールします。

```
install.packages(c("pkgdown", "learnr", "shiny", "knitr", "rmarkdown", "tidyverse"))
```


### パッケージ作成用プロジェクトを作る
　RStudioのメニューから[File]-[New Project...]を選択し、開いたダイアログで[New Directory]-[R Package]の順で選択します。

![CreateProject.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101537/77236740-b112-da29-96d5-71afa2cd9e77.png)

![ProjectType.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101537/eee74710-e424-258b-6083-849b8da1f70c.png)

![CreateRPackage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101537/f971fd3b-af97-4b87-5129-b4a9a936ced2.png)

　Package nameとプロジェクト作成場所を入力し最後に[Create Project]ボタンをクリックすればパッケージ作成に必要なファイルやディレクトリが準備されます。


### チュートリアルファイルを所定の位置に作成する
　チュートリアルファイルは格納すべきディレクトリが決まっていますので、必ず指定の場所に作成します。例えばチュートリアルAとチュートリアルBの二つのチュートリアルを含んだパッケージを作成するには以下のようなディレクトリ構成にします。

```
.
├── DESCRIPTION
├── NAMESPACE
├── R
├── inst
│   └── tutorials
│       ├── tutorial_a
│       │   └── tutorial.Rmd
│       └── tutorial_b
│           └── tutorial.Rmd
└── man
    ├── tutorial_a.Rd
    └── tutorial_b.Rd
```

　チュートリアルファイル自体の作成方法については[`learnr`パッケージのドキュメント](https://rstudio.github.io/learnr/)を参考にしてください。


### DESCRIPTIONファイルなどパッケージに必要なファイルの記述を修正する
　`DESCRIPTION`ファイルは正しく記述しないとパッケージのビルドができませんので注意してください。ヘルプファイル（`man`ディレクトリ配下）はサンプルファイルが格納されていますので、それを参考に作成してください。なお、ヘルプがなくてもパッケージのビルドは可能です。


### パッケージチェクを行う
　必要なファイルの準備ができましたらBuildペインのメニューから[More]-[Check Package]を選んでチェックを行います。このチェックでエラーがでなければ[More]-[Clean and Rebuild]でパッケージをビルドします。

![BuildMenu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101537/2b3cebcf-0b39-9f73-40f4-eeb6939440e5.png)


### パッケージをインストールしてチュートリアル機能を確認する
　パッケージのビルドが完了したらBuildペインのメニューから[Install and Restart]をクリックします。パッケージがインストールされRのセッションがリスタートします。Tutorialペインに作成したパッケージのチュートリアルがリストアップされていることを確認してください。


# 参考資料
　パッケージの作成例を[GitHub](https://github.com/k-metrics/kmetrics)で公開していますので、詳細などはそちらでご確認ください。


---
CC 4.0 BY-NC-SA, Sampo Suzuki