最後に、私の状況を考慮して、論文研究を可能な限り再現性のある優れた研究にするという目標に近づけることにしました。LaTeX
現在、論文レポートには使用していないので(このオプションを検討していますが)、それknitr
が最善の方法であると考えています。
私の論文研究 (データ分析)の経験的部分を実装するソフトウェア プロジェクトは、 R
. プロジェクトには、ディレクトリ構造内に複数のファイルが含まれています。これは、科学的なワークフローではかなり一般的です (最上位のサブディレクトリ: analysis, cache, data, figures, import, prepare, present, results, sandbox, utils
)。
knitr
一般的に、レポートの自動生成と再現可能な研究に使用するための多くの情報 (例を含む) を読みました。しかし、私は多数の構成オプションにいくらか圧倒されており、さらに重要なことに、複数のファイルとディレクトリを含む私のようなプロジェクトで使用するための最良/正しい/最適なアプローチについてまだ混乱しています。特に、モジュールの変更をあまり行わずに既存のコードベースを移行するためのフレームワークと手順に関するアドバイスに興味があります。knitr
R
例として、探索的データ分析 (EDA)に関連する私のモジュールを考えてみましょう。私の現在の EDA ワークフローには以下が含まれます。
元の生データから変換された予備データ (「data/transform」サブディレクトリにあります)。
「analysis」ディレクトリにあるモジュール「eda.R」。
私の現在のコードは、単変量および多変量EDAの図(SVGファイル)と、同じグラフィックのみの情報を含む単一のドキュメントレポート(PDFファイル)を生成しています(生成された記述統計は、 「eda.R」スクリプトを実行したときのコンソール出力)。
ベースのプロジェクトに移行するために、ローカルオプションを設定するためのステートメントを含むknitr
ファイル「eda-report.Rmd」を作成しました。私の理解では、EDA ワークフローに従って、「eda.R」内の既存のコード ブロックをチャンクとして定義し、これらの名前付きチャンクを呼び出す必要があるということです。R Markdown
knitr
read_chunk("eda.R")
R
knitr
質問:
それは正しいアプローチですか?knitr
プロジェクト パスの設定、 の使用source()
、 によるプロットのグループ化gridExtra
、潜在的な問題の防止に関するベスト プラクティスは何ですか? 「eda-report.Rmd」に加えて、別の R モジュールを作成する必要があるように思え.Rmd
ますknitr
。はいの場合、どの呼び出しを使用すればよいですか?rmarkdown::render()
またはknitr::knit()
(RStudio
開発に使用している間は、コードを開発環境から独立させたい)?
更新 1 (追加の質問):
「Knit HTML」ボタンを介して.Rmd
ファイルを処理するとドキュメントが生成されるのに、コマンドを介して処理するとファイルが生成されるのに、ディレクティブが存在するにもかかわらず、ファイルが生成されないのはなぜですか?RStudio
HTML
Makefile
Rscript -e 'library("knitr"); knit("eda-report.Rmd")'
.md
HTML
output: html_document
これを読んでくれてありがとう!あなたのアドバイスは大歓迎です!