CRAN Task View: Reproducible Researchの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。

Maintainer: John Blischak, Alison Hill
Contact: jdblischak at gmail.com
Version: 2021-07-08
URL: https://CRAN.R-project.org/view=ReproducibleResearch

再現可能な研究の目標は、特定の指示をデータ分析と実験データに結び付けて、学術を再現し、よりよく理解し、検証できるようにすることです。この目的のためのRのパッケージは、リテラシープログラミング、パイプラインツールキット、パッケージの再現性、プロジェクトワークフロー、コード/データフォーマットツール、フォーマットコンバーター、およびオブジェクトキャッシングのグループに分割できます。

メンテナは、有益なフィードバックと貢献をしてくれたAnna KrystalliMax KuhnWill LandauBen MarwickDaniel Nüstに感謝します。

このタスクビューにパッケージを含めることを推奨する場合は、GitHub Issueを開いて話し合ってください。

読み書きできるプログラミング

Rで再現性の研究を促進する主な方法は、コンテンツとデータ解析コードの組み合わせである文書を使用することです。Sweave関数(base R utiles パッケージにある)とknitrは、単一のドキュメントが、コンテンツおよび分析を定義するように、主題とRコードをブレンドするために使用することができます。brewR.rspパッケージは、様々なマークアップにRコードを埋め込むの代替的なアプローチが含まれています。

読み書きできるプログラミングのためのリソースは、最高のドキュメントタイプ/マークアップ言語によって編成されています。

LaTex

Sweaveとknitrの両方は、LaTeXファイルを処理することができます。lazyWeaveは、最初からLaTeX文書を作成することができます。

knitrおよびrmarkdown(およびpandoc)は、LaTeX beamerクラスを使用してスライドを作成するために使用できます。

HTML

knitrは、HTMLファイルを直接処理することができます。Sweaveもまた、R2HTMLを経由してHTMLを操作することができます。lazyWeaveは、最初からHTML形式のドキュメントを作成することができます。

HTMLスライドの場合、knitrrmarkdownの組み合わせ(pandocとともに)を使用して、ioslidesまたはreveal.jsSlidy、またはremark.jsxaringanから)を使用してスライドを作成できます。

変換関数オブジェクト:

その他のツール:

htmltoolsは、HTMLを操作するためのさまざまなツールを持っています。タフティスタイルの配布資料を作成するためのtufterhandout

Markdown

knitr は、支援なしでmarkdownファイルを処理することができます。markdownrmarkdownは、この形式で文書を操作するための一般的なツールを持っています。lazyWeaveは、最初からマークダウン形式の文書を作成することができます。また、asciiはRオブジェクトをAsciiDoc形式で書き込むことができます。

変換関数オブジェクト:

その他のツール:

タフティスタイルの配布資料を作成するためのtufterhandoutkfigrは、マークダウンドキュメント内の数字のインデックス作成を可能にします。

Microsoft / LibreOffice フォーマット

officer(以前のReporteRおよびそのR2DOCX以前)は、docxおよびpptxファイルを作成できます。 R2wd(Windowsのみ)はWord文書を最初から作成することもでき、R2PPT(Windowsのみ)はPowerPointスライドを作成することもできます。 rtfは、リッチテキスト形式のドキュメントに対して同じことを行います。 openxlsxは、xlsxファイルを作成します。readODSは、Open DocumentSpreadsheetsの読み取りと書き込みを行うことができます。

変換関数オブジェクト:

パイプラインツールキット

Pipeline toolkitsは、再現性の維持と検証に役立ちます。パイプラインツールキットは、計算結果を基礎となるコードやデータと同期させ、すべてが最新の状態であることをユーザーに伝えます。言い換えれば,出発材料から結果を再現できるという具体的な証拠を提供し,データ解析プロジェクトを一からやり直す必要がないようにします。パイプラインツールキットとして、targetsがあります。GNU Makeに似ていますが、Rに特化しています。

  • drake:データ分析用の汎用計算エンジン。drakeは、依存関係が変化すると中間データオブジェクトを再構築し、結果が既に最新の場合は作業をスキップします。
  • flowr:このフレームワークを使用すると、複雑なパイプラインを設計して実装し、機関のコンピューティングクラスターに展開できます。
  • repo:ファイルシステムとの間でのデータの手動による保存/取得を回避するためのデータマネージャー。
  • targets:R言語による統計・データサイエンスのためのパイプラインツールキットとして、「targets」パッケージは、関数指向のプログラミングと「Make」のような宣言型ワークフローを統合しています。

パッケージの再現性

Rには、解析に必要な特定のパッケージのバージョンを確保するための様々なツールがあります。例えば、renvパッケージは、プロジェクト固有のディレクトリにパッケージをインストールし、現在のパッケージのバージョンの「スナップショット」を「ロックファイル」に記録し、別のマシンでパッケージのセットアップを復元します。

  • checkpoint :CRANのタイムマシンを持っているかのように、特定のスナップショットの日付にCRANに存在していたパッケージをインストールすることができます。
  • groundhog:パッケージに依存するRスクリプトの再現性を高めるために、あるスクリプトが実行されるたびに、使用されるパッケージの同じバージョンがロードされるようにします。
  • liftr:R Markdown文書のコンテナ化による持続的な再現性のある報告。
  • miniCRAN:CRANのようなリポジトリから選択されたパッケージで構成された、内部的に一貫性のあるリポジトリを作成することを可能にします。
  • packrat:あなたのプロジェクトが依存しているRパッケージを、分離、移植、再現可能な方法で管理します。
  • rbundler:依存性パッケージのインストールのためのプロジェクト固有のライブラリを管理します。
  • renv:プロジェクトローカルのRライブラリを作成・管理し、これらのライブラリの状態を「ロックファイル」に保存し、後で必要に応じてライブラリを復元します。
  • Require:再現性のあるワークフローを可能にする「install.packages」「remotes::install_github」「version::install.version」「base::require」をラップした「Require」という1つのキーとなる機能があります。
  • switchr:インストールされたRパッケージのセットを管理、インストール、切り替えするための抽象化機能を提供します。

プロジェクトのワークフロー

データ分析プロジェクトを成功させるには、多くの場合、統計と視覚化以上のものが必要です。プロジェクトの成熟に合わせてコード、データ、結果を効率的に管理することで、ストレスやエラーを減らすことができます。以下の「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」はデータの読み込み、前処理、ライブラリのインポート、および単体テストを自動化します。
  • reportfactory: 複数のR Markdownレポートを扱うためのインフラを提供します。これには、出力の自動キュレーションとタイムスタンプ、パラメータ化、依存関係を管理するヘルパー関数の提供などが含まれます。
  • represtools:再現可能な調査ツールは、分析ディレクトリ構造とワークフローの作成を自動化します。典型的な分析ワークフローステップをカプセル化するRマークダウンスケルトンがあります。関数は、あるステップから別のステップにデータを渡すことができる適切なモジュールを作成します。
  • tinyProject:データ分析プロジェクトに役立つファイルとフォルダーを作成し、データ、スクリプト、および出力ファイルを管理する機能を提供します。
  • worcs:「R」で再現性のある透明な研究プロジェクトを作成します。このパッケージは、オープンサイエンスのベストプラクティスに基づいた段階的な手順である、科学におけるオープン再現性コードのワークフロー(WORCS)に基づいています。
  • workflowr:リテラシープログラミング(「knitr」と「rmarkdown」)とバージョン管理(「git2r」を介した「Git」)を組み合わせて、タイムスタンプ、バージョン、および文書化された結果を含むWebサイトを生成することにより、分析プロジェクトのワークフローを提供します。
  • zoon:再現可能で再混合可能な種の分布モデリング。

書式設定ツール

formatRstyler は,Rコードのフォーマットに使用できます。

highlighthighrは、カラーRコードに使用できます。

humanFormatlubridateprettyunitsrprintfは、より優れた形式のデータに関数を持っています。

フォーマットコンバータ

panderは、Pandoc’sマークダウンにRオブジェクトをレンダリングするために使用することができます。knitrは、Markdown、HTML、LaTex、PDF、Wordのようなフォーマット間のドキュメントを変換するためのPandocのインストールされたバージョンを呼ぶことができるpandoc関数を持っています。tthは、TeXからHTML / MathMLへの変換を容易にします。

オブジェクトキャッシュパッケージ

Sweaveとknitrを使用する場合、ドキュメントが再処理されるなら(すなわち、デバッグ中)、それは時間がかかるコードチャンクの結果をキャッシュすることが有利となります。knitrは、オブジェクトキャッシュを容易にし、BioconductorパッケージweaverはSweaveで使用することができます。

キャッシング/アーカイブを容易にする非識字プログラミングパッケージは、R.cachearchivistreproduciblestorrtrackrです。

関連する記事

  • R言語 CRAN Task View:経験的ファイナンスR言語 CRAN Task View:経験的ファイナンス CRAN Task View: Empirical Financeの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Dirk Eddelbuettel Contact: Dirk.Eddelbuettel at […]
  • R オブジェクトを保存・読み込みする方法R オブジェクトを保存・読み込みする方法 Rでオブジェクトをファイルに保存または読み込みする方法を記載します。 長時間の計算による解析結果をファイルに保存しておくことは、解析手続きの分割が行えるため、とても役に立ちます。 解析手続きの分割について、解析Aの結果を解析Bで用いる場合という例でご説明します。 同じスクリプトで解析Aと解析Bを記載すると、解析Bを変更した際に再度解析Aを実行しないといけません。解析 […]
  • Ubuntu,R gmpパッケージをインストールする方法Ubuntu,R gmpパッケージをインストールする方法 UbuntuにRパッケージのgmpをインストールする方法を備忘録として残しておきます。 CライブラリGMP(GNU Multiple Precision […]
  • 相関係数相関係数 相関係数とは2変量のデータ間の関係性の強弱を計る統計学的指標である。相関係数rがとる値の範囲は-1≦r≦1である。相関係数rの値により以下のように呼ばれる。 -1≦r<0ならば負の相関 r=0ならば無相関 0<r≦1ならば正の相関 一般的に、強弱も合わせて以下のように呼ばれる。 […]
  • R dplyrパッケージのgroup_by_関数で複数の文字列を指定する方法R dplyrパッケージのgroup_by_関数で複数の文字列を指定する方法 Rのdplyrパッケージのgroup_by関数は指定した列をグルーピングできるので便利ですが、文字列を指定できません。 このパッケージのgroup_by_関数は文字列を指定できますが、複数の文字列を指定する場合には少し工夫が必要になります。 ここでは、異なるダイエットの雛の体重と年齢が収められているChickWeightをサンプルデータとします。 > […]
R言語 CRAN Task View:再現性のある研究

R言語 CRAN Task View:再現性のある研究」への1件のフィードバック

コメントは受け付けていません。