Rコードと出力を整理する効率的な方法は何ですか?[閉まっている]


23

他の人がどのようにRコードと出力を整理するかについてのインプットを探しています。

私の現在のプラクティスは、次のようなテキストファイルのブロックにコードを記述することです。

#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"], 
    survey$est.surf.OM[survey$Depth   == "epi"]))
#==================================================

次に、通常は注釈を付けて、出力を別のテキストファイルに貼り付けます。

この方法の問題は次のとおりです。

  1. コードと出力は、日付以外では明示的にリンクされていません。
  2. コードと出力は時系列に編成されているため、検索が難しい場合があります。

目次を作成できるので、すべてを使って1つのSweaveドキュメントを作成することを検討しましたが、これは、提供するメリットよりも手間がかかるようです。

Rコードと出力を整理して、分析の効率的な検索と編集を可能にする効果的なルーチンを教えてください。


2
コピー/貼り付けを避けるため、sink()またはcapture.output()あなたの友達かもしれません。HmiscSweave、またはbrewなどのレポートユーティリティを検討する価値があります(ポイント1)。バージョン管理システム(rcssvn、またはgit)がポイント2に役立つ場合があります
。– chl

@chl-提案をありがとう。私は知らなかった sink()capture.output()。それは素晴らしいことです。
DQdlM

1
今日もknitrがあります!
kjetil bハルヴォルセン

回答:


22

あなたはこの質問をする最初の人ではありません。


+1および最初に提供するリンクは、その中のスレッドを参照します:
chl

@chlありがとう!この質問は...重複していると閉鎖される必要がある場合、私は思っていた
ベルント・ワイス

それは、IMOです。しかし、終了する票がないので、私はそれを終了することに消極的です。また、古いものはより一般的でしたが、非常によく似た質問が過去に閉じられました。待って、それがどうなるか見てみましょう。
chl

リストをありがとう!これは非常に便利です。私はこの質問をするのは初めてではないと考えましたが、(明らかに不適切な)最初の検索ではあまり見つけられなかったようです。
DQdlM

6

私は、プロジェクトまたは分析ごとにすべてを4つのファイルに整理します。(1) 'code' R関数のテキストファイルを保存する場所。(2) 'sql'データを収集するために使用されるクエリを保持する場所。(3)「dat」生データおよび処理済みデータのコピー(通常はcsv)を保管する場所。(4) 'rpt'配布したレポートを保存する場所。

すべてのファイルには、「analysis_of_network_abc_for_research_on_modified_buffer_19May2011」などの非常に詳細な名前が付けられています

また、仮説、仮定、包含および除外基準、および成果物に到達するためにとるステップを整理する詳細なドキュメントを前もって作成します。これらはすべて、反復可能な研究にとって非常に貴重であり、私の年間目標設定プロセスを容易にします。


2

Sweaveに切り替えたので、戻りたくありません。特に出力としてプロットがある場合、各プロットの作成に使用されたコードを追跡するのがはるかに簡単です。また、最初に1つの小さな問題を修正し、手動で何も再実行することなく出力全体に波及させることがはるかに簡単になります。


1
スウィーブは素晴らしいです。慣れるのに多少時間がかかりますが、すでにTeXとRを知っている場合は、当然の選択です。また、テーブルの列の再配置に時間を費やすこともできなくなります。
richiemorrisroe

入力いただきありがとうございます。Sweaveに対する私の2つの懸念は、1)ディレクトリに膨大な数のファイルを作成することです(特に多くの数字を使用します)。 (たとえば、何かがロードされていると思う)。これらの問題はありますか?
DQdlM

1)必要に応じて、中間ファイルを削除することを選択できます。Sweave.shスクリプト(cran.r-project.org/contrib/extra/scripts/Sweave.sh)を使用しますが、これは自動的に行われます。簡単にオフにすることができます。それを行う場合、起こりうる災害を防ぐために、それを使用する前に削除するものを知っていることを確認してください。短いバージョンでは、Rnwファイルのベース名を共有するファイルがない場合でも大丈夫です。
アーロン-モニカの復活

2)私の意見では、そのように注意しなければならないことは良いことであり、その正確な目的を念頭に置いてSweaveドキュメントをコンパイルすることもあります。つまり、分析。
アーロン-モニカの復活

1
@ naught101:長時間の分析では、個別に実行して、通常は.RDataファイルに結果を保存し、Sweaveドキュメントで入力できるようにします。ただし、コードチャンクの結果を「キャッシュ」して再実行しないようにするための優れたオプションもいくつかあります。
アーロン-モニカの復活

2

単一の.Rコードファイルを構造化するために、コードセパレーター(オプションのタイトル付き)を挿入し、それらに基づいて作成したRStudioアドインであるstrcodeを使用して、コードファイルの概要を取得することもできます。この使用方法については、このブログ投稿で詳しく説明します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.