`rpj` は、[[R]] と [[Quarto]] を [[renv]] で隔離した分析プロジェクトの作成と [[Positron]] での起動を 1 コマンドにまとめた自作の zsh スクリプトである。スクリプト本体は [tanuuuuuuu/dotfiles/bin/rpj](https://github.com/tanuuuuuuu/dotfiles/blob/main/bin/rpj) で公開している。 ## 前提要件 - R 本体がインストール済みで、`R` と `Rscript` が PATH 上にある - Positron 本体がインストール済みで、`positron` コマンドが PATH 上にある - Quarto 本体がインストール済みで、`quarto` コマンドが PATH 上にある - R のグローバルライブラリに renv パッケージが入っている - `git` コマンドが使える - `fd` コマンドが使える - `fzf` コマンドが使える ## 振る舞い | 呼び出し | 動作 | | ------------------------ | --------------------------------------------------------------- | | `rpj` | `$HOME` 配下の renv プロジェクトを fzf 選択して Positron で開く | | `rpj {{ NEW_DIR }}` | カレント基準で新規作成・初期化して Positron で開く | | `rpj {{ EXISTING_DIR }}` | そのまま Positron で開く | 新規作成時のディレクトリ構成は次の通り。 ``` {{ PROJECT_NAME }}/ ├── index.qmd # Quarto プロトタイプ(フロントマター + セットアップチャンク) ├── _quarto.yml # Quarto プロジェクト設定 ├── data/ # 入力データ ├── R/ # ヘルパー関数 ├── output/ # 手動エクスポート(ggsave, write_csv 等) ├── .gitignore ├── .Renviron.example # 環境変数の雛形(API キー・認証情報など) ├── .Rprofile # renv 有効化スクリプト ├── renv.lock # 依存パッケージのロックファイル └── renv/ # 隔離ライブラリ・内部ファイル ``` ## 関連ノート - **[前提]** [[R はツールをグローバルにインストールし、分析ライブラリは renv で管理する]]: rpj はこの分離方針 (ツールはグローバル、分析ライブラリは renv) を自動化したもの - **[派生]** [[tibble の print 表示の見切れを width で回避する]]: rpj が作成する Quarto プロジェクトの setup チャンクに置くと、HTML 出力時の tibble の見切れを抑えられる