データ解析するときのフォルダ設定とRmarkdownのパス設定
みなさん、研究プロジェクトをどう管理していますか?
データ解析のコードをどう管理していますか?
わたしは生物統計家として、さまざまな特に医学研究のプロジェクトに関わっています。
以前はプロジェクトごとに、その場その場でドキュメントやコードを管理していて、分からなくなることもよくありました。このような経験から、プロジェクト管理の標準化を図ってきました。
最近落ち着いた気もするので、まとめようと思います。(あくまで、医学研究の、かつデータ解析に特化した管理方法です)
(この記事は以前Qiitaに投稿した記事のアップデート版です)
プロジェクトフォルダ構成
研究プロジェクトごとに、フォルダの構成を統一しています。以前は番号をつけてなかったのですが、つけている方がフォルダの並び順を管理しやすいです。

Dataフォルダ
Original_dataというサブフォルダを作るのが最重要です。入手したオリジナルデータは絶対変更してはいけません。
データの中身を変更する場合は、コピーした上で、Dataフォルダ直下に格納します。またデータファイルの名前やデータの中の変数名は、解析することも考えて半角英数を推奨します。
このデータ構造のまとめ方(データセット仕様書)については違う記事でまとめます。
Documentフォルダ
Projectに関連する資料はここに格納します。論文関係ならばpapersというようなサブフォルダを作っても良いと思います。
Outputフォルダ
Rで作成した図や報告書(html, docx)等を保存します。特に共同研究者に結果を共有する際に日付フォルダを作っておくと、後で確認しやすいと思います。
Scriptフォルダ
Rコードは、全てのこのフォルダの中で管理します。
.Rprojファイル
Rを使ってデータ解析をするときは、RStudioを使って、プロジェクトごとに管理するのが便利です。Rプロジェクトについては、ググればたくさん記事が出てきます。
Tips
Scriptフォルダを図ファイルで散らかさない
Scriptフォルダ下のコードファイルで単純に図を作成すると、Scriptフォルダ内が図ファイルだらけになります。このとき、下記工夫をするとScriptフォルダ内が散らかりません。
-
Outputフォルダを図の出力先とする -
Scriptフォルダ内にfigureというサブフォルダを作る
Rmarkdownのパス設定
RStudioを使う場合、レポーティングをRmarkdownを使っておこなうと思います。このとき、markdownコード内で、ファイルを読み込んだり、出力したりするときのパス設定に困ったことはありませんか?
具体的には、knit(htmlファイル等を出力する本実行)をする前は、うまく処理できていたのに、本実行するときにパスがおかしいと怒られるケースです。
解決策
Tools → Global optionsから

R Markdown の Evaluate chunks in directory を Project にするだけです!

これで、.Rprojファイルが起点として固定されるので、ここから相対パスを設定すればokです。
df_00 <- read_rds("01_Data/df_00.rds")
here package等を使わなくても、手軽に幸せになります。
教えてくれた @mopcupに感謝!
では、ストレスのないデータ解析を!!
最後に記事にイイねしていただけますと嬉しいです。
Discussion