問題タブ [r-bigmemory]
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 - Rcpp の fisher.test で big.matrix の列を使用する
非常に大きなバイナリ big.matrix と、クラス割り当てのベクトル (big.matrix の行数と同じ長さ) があります。
big.matrix の各列をループして、各 fisher.test の p 値を出力できるようにしたいと考えています。
通常のマトリックス オブジェクトを使用すると、次のことができますが、big.matrix をマトリックスに変換すると 5 GB 以上の RAM が必要になります。
マトリックスオブジェクトに変換せずにこれを行うにはどうすればよいですか? 私が理解しているように、big.matrix の要素にアクセスするには C++ コードが必要ですが、これにはまったく慣れていません。
ここでは、Rcpp Rcpp で fisher.test を実行する方法を示します: Rcpp に fisher.test() の実装がありますが、行列の各列をこれに入力する方法がわかりません。
big.matrix の例は次のようになります。
そして、私のクラス変数は次のようになります:
ありがとう!
編集:
これが私が今持っているRcppコードです。誰かが私が問題を理解するのを手伝ってくれたら、本当に感謝しています。
理想的には、C++ 自体の各列をループして、p 値を R に出力できるようにしたいと考えています。
r - 大きなマトリックスをテーブルに変換するにはどうすればよいですか?
bigmemory パッケージの read.big.matrix() で使用される .desc ファイルを使用して、big.matrix を作成します。これをテーブルとして開くにはどうすればよいですか?
as.table() を試してみましたが、「テーブルに強制できません」というエラーが表示されます。
r - 並列大行列乗算
次のように、 2 つの大きな行列を乗算する必要がありA
ますB
。
この乗算を並列に計算するにはどうすればよいですか?
これまでに出会った唯一のチュートリアルは次のとおりです。
しかし、私はそれを実践する方法がわかりません。同じ結果を達成するためのより簡単で効率的な方法もありますか?