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

Maintainer: John Blischak, Alison Hill
Contact: jdblischak at gmail.com
Version: 2021-05-17
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の読み取りと書き込みを行うことができます。

変換関数オブジェクト:

マイクロソフトフォーマット

R2wd(ウィンドウズのみ)はまた、ゼロからWord文書を作成することができます。R2PPT(ウィンドウズのみ)は、PowerPointスライドを作成することができます。rtfは、リッチテキスト形式の文書のための同じことをします。

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

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

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

パッケージの再現性

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

書式設定ツール

formatRhighlighthighrは、色および/またはフォーマットを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.cachearchiviststorrtrackrです。

関連する記事

  • Ubuntu14.04とPython3でMeCabを使う方法Ubuntu14.04とPython3でMeCabを使う方法 MeCabは各種スクリプト言語(perl、ruby、python、Java)から、各言語バイディングで利用できるようになっている。 しかし、Pythonで用意されているのはPython2系のもので、残念ながらPython3系では使えない。 そこで、ここでは用意されているPython2系バイディングをPython3系に変換して使用する方法をお伝えする。 MeCab […]
  • matplotlibで箱ひげ図を表示する方法matplotlibで箱ひげ図を表示する方法 Python3でmatplotlibを用いて、箱ひげ図を表示する方法をお伝えする。 Ubuntu14.04環境で動作することを確認している。 一つ注意点として、日本語に対応させるために、ここでは「IPAexGothic」を用いている。 import matplotlib as mpl import matplotlib.pyplot as […]
  • MySQL 月の差分を計算する方法MySQL 月の差分を計算する方法 MySQLで、月の差分を計算する方法をお伝えする。 計算は、PERIOD_DIFF関数を用いれば簡単に求めることができる。 これは、二つの期間の差の月数を返す関数である。 PERIOD_DIFF(P1, […]
  • ApacheとWildflyの連携方法ApacheとWildflyの連携方法 ApacheとWildflyを連携する方法を3つの手順でご紹介する。Jboss […]
  • 度数分布表とヒストグラム度数分布表とヒストグラム 数値データの集合をただ眺めても、そのデータの特徴をつかむのは大変難しい。しかし、そのデータを表にまとめたもの、またはグラフにすると一目瞭然だ。特に、グラフにしたものは、大変分かりやすい。表にまとめたものを度数分布表、グラフにしたものをヒストグラムという。 では、早速具体的に見ていく。 度数分布表 度数分布表とは、以下の表のことを言う。ここで用いたデータは、統計Rに付 […]
R言語 CRAN Task View:再現性のある研究

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

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