CRAN Task View: Reproducible Researchの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。
Maintainer: | John Blischak, Alison Hill |
Contact: | jdblischak at gmail.com |
Version: | 2020-12-16 |
URL: | https://CRAN.R-project.org/view=ReproducibleResearch |
再現可能な研究の目標は、特定の指示をデータ分析と実験データに結び付けて、学術を再現し、よりよく理解し、検証できるようにすることです。この目的のためのRのパッケージは、リテラシープログラミング、パイプラインツールキット、パッケージの再現性、プロジェクトワークフロー、コード/データフォーマットツール、フォーマットコンバーター、およびオブジェクトキャッシングのグループに分割できます。
メンテナは、有益なフィードバックと貢献をしてくれたAnna Krystalli、Max Kuhn、Will Landau、Ben Marwick、Daniel Nüstに感謝します。
このタスクビューにパッケージを含めることを推奨する場合は、GitHub Issueを開いて話し合ってください。
読み書きできるプログラミング
Rで再現性の研究を促進する主な方法は、コンテンツとデータ解析コードの組み合わせである文書を使用することです。Sweave関数(base R utiles パッケージにある)とknitrは、単一のドキュメントが、コンテンツおよび分析を定義するように、主題とRコードをブレンドするために使用することができます。brewとR.rspパッケージは、様々なマークアップにRコードを埋め込むの代替的なアプローチが含まれています。
読み書きできるプログラミングのためのリソースは、最高のドキュメントタイプ/マークアップ言語によって編成されています。
LaTex
Sweaveとknitrの両方は、LaTeXファイルを処理することができます。lazyWeaveは、最初からLaTeX文書を作成することができます。
knitrおよびrmarkdown(およびpandoc)は、LaTeX beamerクラスを使用してスライドを作成するために使用できます。
- 変換関数オブジェクト:
- summary tables/statistics: Hmisc, NMOF, papeR, quantreg, rapport, reporttools, sparktex, tables, xtable, ztable
- tables/cross-tabulations: Hmisc, lazyWeave, knitLatex, knitr, reporttools, ztable
- graphics: animation, Hmisc, grDevices:::pictex, sparktex, tikzDevice
- statistical models/methods: apsrtable, memisc, quantreg, rms, stargazer, suRtex, texreg, xtable, ztable
- bibtex: bibtex, RefManageR
- others: latex2expは、数式をプロットするためにLaTeXの数式を変換します。
- その他のツール
HTML
knitrは、HTMLファイルを直接処理することができます。Sweaveもまた、R2HTMLを経由してHTMLを操作することができます。lazyWeaveは、最初からHTML形式のドキュメントを作成することができます。
HTMLスライドの場合、knitrとrmarkdownの組み合わせ(pandocとともに)を使用して、ioslidesまたはreveal.js、Slidy、またはremark.js(xaringanから)を使用してスライドを作成できます。
変換関数オブジェクト:
- summary tables/statistics: stargazer
- tables/cross-tabulations: DT, flextable, formattable, htmlTable, HTMLUtils, hwriter, knitr, lazyWeave, SortableHTMLTables, texreg, ztable
- statistical models/methods: rapport, stargazer, xtable
- others : RefManageR
その他のツール:
htmltoolsは、HTMLを操作するためのさまざまなツールを持っています。タフティスタイルの配布資料を作成するためのtufterhandout。
Markdown
knitr は、支援なしでmarkdownファイルを処理することができます。markdownとrmarkdownは、この形式で文書を操作するための一般的なツールを持っています。lazyWeaveは、最初からマークダウン形式の文書を作成することができます。また、asciiはRオブジェクトをAsciiDoc形式で書き込むことができます。
変換関数オブジェクト:
- summary tables/statistics: papeR
- tables/cross-tabulations: DT, formattable, htmlTable, knitr, lazyWeave, papeR
- statistical models/methods: pander, papeR, rapport, texreg
- others : RefManageR
その他のツール:
タフティスタイルの配布資料を作成するためのtufterhandout。kfigrは、マークダウンドキュメント内の数字のインデックス作成を可能にします。
Microsoft / LibreOffice フォーマット
officer(以前のReporteRおよびそのR2DOCX以前)は、docxおよびpptxファイルを作成できます。 R2wd(Windowsのみ)はWord文書を最初から作成することもでき、R2PPT(Windowsのみ)はPowerPointスライドを作成することもできます。 rtfは、リッチテキスト形式のドキュメントに対して同じことを行います。 openxlsxは、xlsxファイルを作成します。readODSは、Open DocumentSpreadsheetsの読み取りと書き込みを行うことができます。
変換関数オブジェクト:
- tables/cross-tabulations : flextable
- graphics : mschart
マイクロソフトフォーマット
R2wd(ウィンドウズのみ)はまた、ゼロからWord文書を作成することができます。R2PPT(ウィンドウズのみ)は、PowerPointスライドを作成することができます。rtfは、リッチテキスト形式の文書のための同じことをします。
パイプラインツールキット
Pipeline toolkitsは、再現性の維持と検証に役立ちます。計算出力を基礎となるコードおよびデータと同期し、すべてが最新の状態になったときにユーザーに通知します。つまり、結果は出発材料から再作成可能であるという具体的な証拠を提供し、データ分析プロジェクトはゼロから再実行する必要はありません。drakeパッケージは、このようなパイプラインツールキットです。GNU Makeに似ていますが、Rに焦点を当てています。
- drake:データ分析用の汎用計算エンジン。drakeは、依存関係が変化すると中間データオブジェクトを再構築し、結果が既に最新の場合は作業をスキップします。
- flowr:このフレームワークを使用すると、複雑なパイプラインを設計して実装し、機関のコンピューティングクラスターに展開できます。
- repo:ファイルシステムとの間でのデータの手動による保存/取得を回避するためのデータマネージャー。
パッケージの再現性
Rはまた、特定のパッケージのバージョンが分析のために必要とされ得ることを確保にするためのツールがあります。checkpointとgroundhog、rbundler、packrat、renvは、特定の時点で存在したローカル・アーカイブへのプロジェクトのために必要となるパッケージです。これは、時間と異なるユーザを維持するための特定のパッケージのバージョンを許可します。miniCRAN は、ローカルCRANのようなリポジトリの作成を容易にします。switchrは、CRANのようなローカルリポジトリの作成とそれらの同時操作を容易にします。liftrは、追加のメタデータを提供することにより、Dockerを使用してR Markdownドキュメントをコンテナ化できます。
プロジェクトのワークフロー
データ分析プロジェクトを成功させるには、多くの場合、統計と視覚化以上のものが必要です。プロジェクトの成熟に合わせてコード、データ、結果を効率的に管理することで、ストレスやエラーを減らすことができます。以下の「workflow」パッケージは、プロジェクトインフラストラクチャを管理したり、再現可能なワークフローを促進したりすることにより、Rプログラマを支援します。
ワークフローユーティリティパッケージは、プロジェクトインフラストラクチャを実装したり、特定の問題を解決するための使い捨て機能を提供します。典型的な例として、usethis :: use_git()はGitリポジトリを初期化し、一般的なRファイルを無視し、すべてのプロジェクトファイルをコミットします。
- cabinets:.Rprofileファイルに書き込まれるプロジェクト固有のディレクトリおよびファイルテンプレートを作成します。
- here:プロジェクトのファイルへのパスを作成します。
- prodigenr:そのプロジェクトの典型的なファイルとともに、プロジェクトのディレクトリ構造を作成します。
- RepoGenerator:RワークショップのGitHubリポジトリの初期化を簡単にするためのプロジェクトとリポジトリを生成します。
- rrtools(GitHub only):Rで再現性のある研究を行うのに適した基本的な概要を作成するための指示、テンプレート、および機能。
- スターター(GitHub only):教育、プレゼンテーション、分析、パッケージ開発のためにRプロジェクトディレクトリを設定するのは面倒です。これは、フォルダー構造を作成し、適切なデフォルトを設定することにより、これをショートカットします。
- usethis:手動で実行されるパッケージおよびプロジェクトのセットアップタスクを自動化します。
ワークフローフレームワークパッケージは、プロジェクトの開発中に役立つ整理されたディレクトリ構造とヘルパー機能を提供します。典型的な例として、ProjectTemplate :: create.project()は多くのサブディレクトリで組織化されたセットアップを作成し、ProjectTemplate :: run.project()はsrc /サブディレクトリに保存されている各Rスクリプトを実行します。
- exreport:インタラクティブHTMLとLaTeXの両方での実験結果の分析と自動レポート生成。
- madrat:データ処理の再現性と透明性を改善するフレームワークを提供します。自動メタデータの作成と管理、基本的な品質管理、データキャッシング、ワークフロー管理、データ集約などの機能を提供します。
- makeProject:このパッケージは、Josh Reichによって記述された「Load、Clean、Func、Do」構造のファイルとディレクトリの空のフレームワークを作成します。
- orderly:Rからレポートを注文、作成、保存。
- projects:原稿の作成に焦点を当てたプロジェクトインフラストラクチャを提供します。
- ProjectTemplate:新しいRプロジェクトのディレクトリ構造を自動的に構築する機能を提供します。この構造を使用して、「ProjectTemplate」はデータの読み込み、前処理、ライブラリのインポート、および単体テストを自動化します。
- represtools:再現可能な調査ツールは、分析ディレクトリ構造とワークフローの作成を自動化します。典型的な分析ワークフローステップをカプセル化するRマークダウンスケルトンがあります。関数は、あるステップから別のステップにデータを渡すことができる適切なモジュールを作成します。
- RSuite:Rでの安全で再現可能なソリューション開発をサポートします。プロジェクトごとの環境分離、依存関係管理、ローカルパッケージの作成、ソリューションの展開パックの準備を支援します。
- tinyProject:データ分析プロジェクトに役立つファイルとフォルダーを作成し、データ、スクリプト、および出力ファイルを管理する機能を提供します。
- worcs:「R」で再現性のある透明な研究プロジェクトを作成します。このパッケージは、オープンサイエンスのベストプラクティスに基づいた段階的な手順である、科学におけるオープン再現性コードのワークフロー(WORCS)に基づいています。
- workflowr:リテラシープログラミング(「knitr」と「rmarkdown」)とバージョン管理(「git2r」を介した「Git」)を組み合わせて、タイムスタンプ、バージョン、および文書化された結果を含むWebサイトを生成することにより、分析プロジェクトのワークフローを提供します。
- zoon:再現可能で再混合可能な種の分布モデリング。
書式設定ツール
formatR、highlight、highrは、色および/またはフォーマットをRコードに使用することができます。パッケージhumanFormat、lubridate、prettyunits、rprintfは、より優れた形式のデータに関数を持っています。
フォーマットコンバータ
panderは、Pandoc’sマークダウンにRオブジェクトをレンダリングするために使用することができます。knitrは、Markdown、HTML、LaTex、PDF、Wordのようなフォーマット間のドキュメントを変換するためのPandocのインストールされたバージョンを呼ぶことができるpandoc関数を持っています。tthは、TeXからHTML / MathMLへの変換を容易にします。
オブジェクトキャッシュパッケージ
Sweaveとknitrを使用する場合、ドキュメントが再処理されるなら(すなわち、デバッグ中)、それは時間がかかるコードチャンクの結果をキャッシュすることが有利となります。knitrは、オブジェクトキャッシュを容易にし、BioconductorパッケージweaverはSweaveで使用することができます。
キャッシング/アーカイブを容易にする非識字プログラミングパッケージは、R.cacheとarchivist、storr、trackrです。
Pingback:R言語 CRAN Task Views | トライフィールズ