問題タブ [reproducible-research]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
84 参照

build-system - 再現可能な研究にビルドシステムを使用していますか?

私は、次のプログラムの入力となる出力ファイルを生成するプログラムのパイプラインを含む研究プロジェクトを行っています。目的の出力を作成するために使用した一連のコマンドを簡単に繰り返したいと思います。makeまたはその他のビルド システムがこのタスクに適しているように見えますが、私が調べたすべてのビルド システム (おそらく make 自体を除く)、ソース コードから実行可能ファイルをビルドすることに強く偏っているようです。他にどうすればいいのかわかりません。ソース コードを実行可能ファイルにコンパイルする以外のタスクにビルド システムを使用した経験のある人はいますか? ビルド システムを簡単に使用して再現性のある研究を促進できますか?それとも、別の種類のツールを探す必要がありますか?

0 投票する
3 に答える
21574 参照

r - カレットを使用した完全に再現可能な並列モデル

カレットで2つのランダムフォレストを実行する場合、ランダムシードを設定するとまったく同じ結果が得られます。

ただし、モデリングを高速化するために並列バックエンドを登録すると、モデルを実行するたびに異なる結果が得られます。

この問題を解決する方法はありますか?1つの提案は、doRNGパッケージを使用することでしたがtrain、現在サポートされていないネストされたループを使用します。

doSNOW更新:この問題はとを使用して解決できると思いましclusterSetupRNGたが、そこに到達することはできませんでした。

foreachの何が特別で、クラスターで開始したシードを使用しないのはなぜですか?オブジェクトabは同一なので、なぜそうではないmodel1model2ですか?

0 投票する
10 に答える
13423 参照

ipython - レポート生成のためにipythonノートブックにプログラムでセルを追加します

ipythonノートブックをブログ投稿、pdf、または本全体(〜min 43)に変換する方法について、iPython開発者によるいくつかの講演を見てきました 。PDF-to-Xコンバーターは、マークダウンまたはコードで記述されたiPythonセルを解釈し、新しくフォーマットされたドキュメントを1つのステップで吐き出します。

私の問題は、図やセクションの多くがプログラムで生成された大きなドキュメントを生成したいということです-このようなものです。上記のメソッドを使用してiPythonでこれを機能させるには、他のiPython-Code-Blocksを書き込む関数を記述できる必要があります。この機能は存在しますか?

これは役に立つかもしれないと思うので、私は疑問に思っています:

  1. iPythonを介してiPythonセルを生成することが可能です
  2. これが悪い考えであり、テンプレートライブラリ(Jinja)のような「古典的な」ソリューションに固執する必要がある場合。

ありがとう、zach cp

編集:Thomasの提案に従って、私はipythonメーリングリストに投稿し、このアイデアの実現可能性についていくつかのフィードバックを得ました。要するに、このアイデアを元のアイデアにとって理想的とは言えないものにするいくつかの技術的な問題があります。マークダウンセルと対応する画像/テーブルを生成したい反復レポートの場合、Jinjaのようなテンプレートシステムで直接レポートを生成するよりも、ipythonカーネル/ブラウザーを介して作業するのは非常に複雑です。

0 投票する
1 に答える
258 参照

r - 再現可能な研究のための自動テキスト

RStudio、R Markdown、Latex、および Pandoc を使用して、データのクリーニング、変数の構築、分析の実行、および結果の報告を行っています。私は再現可能な研究の概念に慣れていませんが、夢中になっています。とても理にかなっています。

動的な表と図は問題ありません。しかし、動的テキストには困惑しています。インライン コードを挿入して、すべての統計の 95% が誤りであることを示すことができますが、再現可能な方法で言語を変更する方法がわかりません。

たとえば、オブジェクト x=0.66 があり、「歯科医の 3 人に 2 人が Crest を使用しています」と書きたい場合はどうすればよいでしょうか? x の現在の値 0.66 を見て、テキストに「2 out of 3」と入力できますが、これは再現できません。新しいデータを取得して分析を再実行すると、x が 0.52 になったとします。私のテキストは古くなっているでしょう。確かに、歯科医の 52% が Crest を好んでいると動的にレポートすることはできますが、すべてがパーセンテージでレポートされると、レポートが古くなります。

私の考えでは、文章を変更したいときにテキストで呼び出すことができる関数を作成できたということです。たとえば、「out.of」関数は if else ステートメントで機能してテキストを生成できます。

また、10 分の 1、5 分の 2、3 分の 1 などの分数関数を作成することもできます。

他の人がすでにこの問題に取り組んでいると確信しています。手がかりはありますか?アイデア?

0 投票する
3 に答える
2222 参照

r - knitrを使用したキャプション付きのループ

で可変キャプションを使用して一連のテーブルまたはグラフィックを作成する簡単な方法があるかどうか疑問に思っていますknitr。私が知っている唯一の方法はこれです:( https://github.com/yihui/knitr-examples/blob/master/075-knit-expand.Rnwから簡略化されています)。しかしsrc、任意のデータセットからそのようなループを生成する関数を記述したいので、出力を収集してループの後に出力するのはドラッグです。

したがって、代わりに実行できるようにしたいのは、次のようなものです。

... brew()を実行すると、...が生成されます。

...そしてこれの出力は私がそれからknit2pdf()することができました。したがって、テンプレートがtmpl.Rnwと呼ばれる場合、brew('tmpl.Rnw'、'doc.Rnw'); knit2pdf('doc.Rnw)を実行します。

0 投票する
3 に答える
2514 参照

r - Rの外部ファイルから機能するソースコードを含める

さまざまな(〜50データセット)で実行する必要がある標準のデータ分析手順があります。私はしばらくの間それを開発してきました、そして今、私はそれをデータセットを取り、各データセットのためにいくつかの賢明なテーブルを吐き出す関数に変えたいと思うところまで来ました。ただし、実行された手順は4つのスクリプトファイルにまたがっており、これまで私はsourceそれを実行するために次々と使用してきましたが、では不可能のようfunctionです。

次の問題があります。

データセットで実行すると、コードがクラッシュします。

関数のコンパイル中に他のファイルからコマンドをコピーして貼り付ける方法(コマンド)はありますか(実際のコンパイルではありませんが、別の方法で呼び出す方法がわかりません)?自分でコピーして貼り付けることができることは知っていますが、コードを読みやすくするために別々のファイルに保持したいニューラルネットワークとARFIMA推定がさまざまなステップに含まれているため、そうはしません。とにかく、関数はコピーアンドペースト後、200行のコードのようなものになりますが、これは間違いなくユーザーフレンドリーではありません...

どうも

0 投票する
2 に答える
592 参照

emacs - org-babelの評価された(エクスポートされた)ソースブロックでnoweb refをインポート/拡張するにはどうすればよいですか?

私はこのようなことをしようとしています:

私がしたいのは、ブロックが評価されてエクスポート出力が生成されるときに、<<defs>>がもつれスタイルで拡張されることです。実際に起こることは、<< defs >>が文字通り評価され、構文エラーを引き起こすことです。

このようなブロックを出力ファイルにもつれさせると、すべてが完全に機能しますが、バッファーをエクスポートするときに同じことを行う方法がわかりません。

提案?

0 投票する
1 に答える
104 参照

r - 再現可能な研究で数値をフォーマットするためのパッケージ

特定の種類の書式設定が適用された数値を文字に変換する標準的な方法はありますか。

私は次のようなことを考えています:

もちろん、自分で書くのはそれほど難しいことではありませんが、レポートを作成するときは、この種のものがかなり常に必要であり、すでにいくつかのパッケージが存在するに違いありません。

0 投票する
1 に答える
248 参照

r - org-mode での外部化されたソース コードのリンク/インポート

この論文をきっかけに、Emac のorg-modeを少し調べてみようと思いました。現在、自分のドキュメントを書くのにどちらが適しているかを評価しようとしています。

Knitr について私が本当に気に入っているのは、実際のソースを外部化するオプションです(注意してください: R スクリプトのラベル/名前の宣言が から## ---- label -------に変更されたよう## @knitr labelです; を参照してください?read_chunk)、それらを実際の読み書き可能なプログラミング/再現可能な研究に「リンク」します。ドキュメント(実際にそのドキュメントにコードを書くのではなく):

で「インポート」

それぞれのラベルを参照して「再利用」します

質問

.orgこれは組織モードでも可能ですか、それとも実際のコードをドキュメントに入れる必要がありますか?

私はこれを見つけましたが、外部ソースコードファイルリンク/インポートし、リンクされたコードを内部に持つことでそれらを実行できるという特定の概念は見つかりませんでした

バックグラウンド

このアプローチは、読み書きのできるプログラミングの一般的なパラダイムをある程度まで対比する可能性があることは確かです。しかし、私はやや「アトミック」なスタイルで作業するのが好きなので、最初はファイルを分けておき、次にすべてを動的にマッシュアップする方が自然だと感じています。

0 投票する
1 に答える
201 参照

makefile - Make の静的パターン規則の構文はどの程度柔軟ですか?

再現性のある研究のためのツールとして make を使用したいと思います。この研究には、多くの独立したデータセットに対して実行する長いパイプラインが含まれており、次のように「疑似作成」で説明するワークフローが必要です。

make が単に各データセットの名前を '%' に置き換えるだけであれば、これはまさに私が望むものです。ただし、GNU make マニュアルには、静的パターン ルールの構文について次のように記載されています。

target-pattern がターゲットに一致する場合、`%' はターゲット名のどの部分にも一致します。この部分はステムと呼ばれます。パターンの残りの部分は正確に一致する必要があります。

上記のコードが機能しない理由を説明します。make でこれを達成するための最良の方法は何ですか、または make は単にこの仕事に適したツールではありませんか?

前もって感謝し、質問が不十分である場合はお詫びします-私は作成するのが初めてで、この質問を表現する方法がほとんどわかりません.