2009-07-22 11 views
29

Rのための少なくとも2つの疎な行列パッケージがあります。私はこれらを調べていますが、密集した表現でメモリに収まるには大きすぎて疎なデータセットで作業しているためです。私は、基本的な線形代数ルーチンと、Cコードを簡単に書くことができるようにしたい。どの図書館が最も成熟していて、最も使いやすいものか?Rのための最も成熟したスパース行列パッケージ?

これまでのところ私はそれが最も使用される一つだ暗示、

多くの逆の依存関係を持ってい
  • Matrixを見つけました。
  • SparseMこれには多くのリバースデープが含まれていません。
  • さまざまなグラフライブラリには、おそらく独自の(暗黙の)バージョンがあります。例えばigraphおよびnetwork(後者はstatnetの一部である)。これらは私のニーズにはあまりにも特殊です。

誰でもこの経験がありますか?

RSeek.orgを少し検索すると、Matrixパッケージが最も一般的なようです。私はしばしばCRAN Task Viewsをかなり権威あるものと考え、Multivariate Task ViewはMatrixとSparseMを言及します。

+2

「スパム」もあると思います。 「SparseM/Matrixとの相違点は、(1)疎な1つのマトリックスフォーマット、(2)透明でシンプルな構造に基づく(3) 、GMRF内のMCMC計算に合わせたものです。 (4)S3とS4のような "互換性のある" ...そしてそれは速いです "逆依存:CollocInfer、esd4all、fields、latticeDensity、LatticeKrig、pencopula、rworldmap、splm –

+0

ツールrecとしてクローズする投票。 –

答えて

21

Matrixが最も一般的であり、R標準インストール(2.9.0以降)のために広く受け入れられています。ベースに

マトリックス:ログ(0)に定義されておらず、スパース行列のほとんどの要素がゼロであるため https://stat.ethz.ch/pipermail/r-announce/2009/000499.html

7

私の経験では、Matrixはあなたが言及したパッケージのうち最もサポートされ、最も成熟したものです。 Cのアーキテクチャーもかなりよく公開されており、比較的簡単に操作できます。

1

ログ(X)疎行列には悪い考えです。

ゼロ以外の要素のログを取得したい場合は、3つ組のスパース表現に変換し、それらの値のログをとってみてください。

+1

oops。私は実際にはlog(1 + x)を意味していました。私はこれが意味をなさないと思う。ええ、私は三重項表現でそれを行いますが、これははるかに意味があります。 –

関連する問題