1

AB Tを計算できるように、非常に大きな bigmemory big.matrix Bの転置を実行したいと思います。これはbigmemoryで可能ですか?さらに重要なことに、これに関するドキュメントをどのように見つけることができますか? bigmemory http://www.stat.yale.edu/~mjk56/temp/bigmemory-vignette.pdfに関するこの論文の 5 ページで、著者は、パッケージが prod()、colmean()、colsd などの操作もサポートしていると述べています。 () などですが、これに関するドキュメントが見つかりません。

4

1 に答える 1

2

そのドキュメントは現時点ではかなり古く、急速に古くなりつつあります。私は bigmemory パッケージの現在の開発者の 1 人です。bigmemory パッケージをよりモダンでアクセスしやすいものにするために、かなりの数の新しい更新を開始しました。まもなく新しい更新バージョンを CRAN にリリースしたいと考えています。

そうは言っても、転置機能は実際にはbigalgebraパッケージの一部になる予定です。現時点では、関数の拡張に取り組んでおり、t. 1 つまたは 2 つのバグが見つかる可能性は十分にあります。したがって、おそらく話しすぎた後、ここに潜在的な解決策があります。

私の現在の開発ブランチをインストールしますbigalgebra

library(devtools)
# probably also install dev bigmemory
# install_github("kaneplusplus/bigmemory")
install_github('cdeterman/bigalgebra')

これにより、オブジェクトのtメソッドが提供されbig.matrixます。

library(bigalgebra)
set.seed(123)
bm <- as.big.matrix(matrix(rnorm(25), nrow=5))
bm[]
            [,1]       [,2]       [,3]       [,4]       [,5]
[1,] -0.56047565  1.7150650  1.2240818  1.7869131 -1.0678237
[2,] -0.23017749  0.4609162  0.3598138  0.4978505 -0.2179749
[3,]  1.55870831 -1.2650612  0.4007715 -1.9666172 -1.0260044
[4,]  0.07050839 -0.6868529  0.1106827  0.7013559 -0.7288912
[5,]  0.12928774 -0.4456620 -0.5558411 -0.4727914 -0.6250393

t(bm)[]
           [,1]       [,2]       [,3]        [,4]       [,5]
[1,] -0.5604756 -0.2301775  1.5587083  0.07050839  0.1292877
[2,]  1.7150650  0.4609162 -1.2650612 -0.68685285 -0.4456620
[3,]  1.2240818  0.3598138  0.4007715  0.11068272 -0.5558411
[4,]  1.7869131  0.4978505 -1.9666172  0.70135590 -0.4727914
[5,] -1.0678237 -0.2179749 -1.0260044 -0.72889123 -0.6250393

フォローアップのポイントとして、あなたtcrossprodは 2 つの行列の に特に関心があるようです。これを念頭に置いて、bigalgebraパッケージにそれぞれのバインディングを作成します。

于 2015-06-02T19:05:32.477 に答える