問題タブ [drake-r-package]
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.
r - R プロジェクト間でオブジェクトを転送するためのベスト プラクティスは何ですか?
ある git バージョン管理された R プロジェクトで生成された R オブジェクト (たとえば、クリーンアップされたデータ) を、別の Git バージョン管理された R プロジェクトで使用したいと考えています。
drake
具体的には、論文の実験のためにさまざまなことを行う (たとえば、資料の生成、データのインポートとクリーニング、レポート/記事の生成など) git バージョンの R プロジェクト (計画を保持する) が複数あります。
実験固有のプロジェクトは、理想的には次のようにする必要があります。
- 接続可能 - これらのプロジェクトで生成したオブジェクト (主にデータと資料) を、論文レポートを生成する別の git バージョンの R プロジェクトに取得できるようにします。
- 自己完結型 - 他の非論文プロジェクト (プレゼンテーション、レポート、ジャーナル原稿など) で使用できるようにするため。このようなプロジェクトを共有する場合、理想としては、モノリシックな論文プロジェクトを共有する必要はありません。
- バージョン管理 - 異なるプロジェクトでそれらを独立して使用できるようにするため (たとえば、論文を提出した後に論文のデータ クリーニングに変更を加えた場合でも、最初にコンパイルされたときと同じように論文を再現できるようにしたい)。
現時点では、これを行う 3 つの方法を確認できます。
- データ クリーニング プロセスを再作成する
- ただし、これにはコピー/貼り付けが含まれます。これは、特にアップストリームで変更があった場合は避けたいと思います。
- 作業ディレクトリを変更して、関連するスクリプト/関数にアクセスします
- しかし、使用したとしても、
here
再現性が低下するようです。
- しかし、使用したとしても、
- ソース プロジェクトをパッケージにし、「エクスポート」したいオブジェクトをエクスポート データにします ( Hadley の R パッケージ ガイドのデータ セクションに従って) 。
これを行う他の方法はありますか?
編集: @landau の単一の計画を使用するという提案を試してみdrake
ましたが、しばらくの間はうまくいきましたが、( @vrognas のケースと同様に) に依存するサブプロジェクト (会議のプレゼンテーションや原稿など) が多すぎてしまいました。同じオブジェクト。したがって、質問の意図に上記のいくつかの説明を追加しました。
r - ドレイク R プランで ls() を使用できないのはなぜですか?
drake
特定の条件に一致するプランの環境内のすべてのオブジェクト/変数/データフレームを一覧表示しようとしています。ただし、ls()
これを使用しようとすると、エラーが返されます。
代わりにこれを行うにはどうすればよいですか?
r - ドレイク動的サブターゲットを実際のデータフレーム/ソースターゲットに関連付ける方法は?
drake
マニュアルには、動的サブターゲットを使用する次の例が示されています。
https://books.ropensci.org/drake/dynamic.html#dynamic-transformations
reprex パッケージ(v0.3.0)により 2020-09-02 に作成
ここで、何らかの理由で、これらのサブターゲットの 1 つ以上が失敗したとしrow_9939cae3
ます。その理由を調査したいと思います。そのためには、ターゲット関数にフィードされている正確な引数を知る必要があります。そのデータのコピーを取得するにはどうすればよいですか?
事前に助けてくれてありがとう。
マーク
r - ドレイクでインポート パッケージを使用する
パッケージについてdrake
知ることは、R ユーザーとしての最近の最高の発見の 1 つでした。ただし、再現性の点でこのパッケージに見られる 1 つの欠点は、単にヘルパー関数である関数でワークスペースが雑然としていることです。
source
これらのd 関数が衝突するかどうか、またはlibrary
呼び出しの順序が重要かどうかは誰にもわかりません。パッケージがあることは知っていますが、conflicted
パッケージのみを扱っています。preprocessing.R
R のコード単位がパッケージであることはわかっていますが、のような少数のファイルを分析して、training.R
それらをパッケージに変換するのは奇妙に思えます。いずれにせよ、潜在的な名前の衝突はかなり早い時期に始まります.Rのクリーンなアプローチを提示している人を見たことがありません.
ただし、import
パッケージ関数と関数/変数を他のファイルからインポートするチェリーピッキングを可能にするパッケージがあります。に関数があり、関数a
をa.R
使用してインポートするimport
とアクセス可能になりますが、その依存関係はすべて関数で使用できますa
が、インポートされないため、有用な分離が提供されます。
import
でパッケージを使用してテストしましたdrake
がdrake
、インポートされた関数の依存関係が変更されたかどうかを検出せず、実際の使用例が壊れています。ドレイクにこれらの関数を「ドリルダウン」するように指示する方法、またはそれを機能させる他の方法を知っている人はいますか? 前もって感謝します!