データ解析するときのフォルダ設定と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