問題タブ [r-future]
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 - ニットコードチャンクを非同期に処理するには?
RMarkdownドキュメントのknitrコードチャンクを非同期的に処理する方法があるかどうか疑問に思っています。
私が考えていることは次のとおりです。複雑なデータ分析を含むドキュメントがいくつかのコード チャンクに分割されていると想像してください。そのうちのいくつかには、複雑で実行速度の遅いコードが含まれています。これらのコード チャンクは相互に依存関係がなく、出力はプロット、テーブル、またはその他の数値結果のいずれかですが、他のコード チャンクで使用されるデータ オブジェクトではありません。
これらのコード チャンクの処理を並列化できれば素晴らしいことです。通常、knitrは各コード チャンクを順番に処理します。その結果、処理が遅いコード チャンクの背後にあるキューにいくつかのコード チャンクが滞留している可能性があります。futureやpromisesなどの R パッケージは非同期プログラミングを可能にします。これを利用して、ニットコード チャンクを同じ方法で並列処理できるのではないかと考えていました。スロー コード チャンクを個別の Rmd ファイルに配置してから、呼び出しknitr::knit_child内のコード チャンク呼び出しに配置できる可能性が高いことは承知していますfuture::future_mapが、すべてを同じファイルにまとめた方がよいでしょう。また、を使用して子ドキュメントを指定できることも認識していますchildコードチャンクのオプション。さらに、オプションを使用して名前で呼び出すことにより、コードチャンクを再利用できることを認識していref.labelます。したがって、私が疑問に思っているのは、この機能のいずれかをハイジャックして (おそらくfutureを使用して)、実行が後続のコード チャンクに渡される間にコード チャンク出力のレンダリングが遅延されるようにする方法があるかどうかということです。またはそのようなもの。Knitrでのコード チャンクのシーケンシャル計算を超えて、マルチコアまたはマルチセッション処理を使用するための可能性の空間を探索しているだけです。