2009-07-22 119 views
29

R至少有兩個稀疏矩陣包。我正在研究這些問題,因爲我正在處理的數據集太大而且稀疏,無法適應內存密集表示。我想要基本的線性代數例程,以及能夠輕鬆編寫C代碼來對它們進行操作的能力。哪個庫是最成熟和最好用的?R最成熟的稀疏矩陣包?

到目前爲止,我發現

  • Matrix其中有許多反向相關性,這意味着它是最廣泛的一種。
  • SparseM它沒有那麼多的反向縮放。
  • 各種圖形庫可能有它們自己的(隱式)版本;例如igraphnetwork(後者是statnet的一部分)。這些太專門針對我的需求。

任何人都有這方面的經驗?

RSeek.org稍微搜索一下,Matrix包似乎是最常提到的一個。我經常認爲CRAN Task Views是相當權威的,而Multivariate Task View提到了Matrix和SparseM。

+2

我覺得也有垃圾郵件。該幫助表示:「與SparseM/Matrix的差異是:(1)我們僅支持(基本上)一種稀疏矩陣格式,(2)基於透明和簡單結構,(3) 爲GMRF內的MCMC計算量身定製。 (4)S3和S4類似「兼容」...並且速度快。反向依賴:CollocInfer,esd4all,fields,latticeDensity,LatticeKrig,pencopula,rworldmap,splm –

+0

投票結束爲工具rec。 –

回答

7

根據我的經驗,Matrix是您提到的最受支持和最成熟的軟件包。其C架構也應該相當好地暴露,並且相對簡單易行。

1

日誌(x)是因爲log(0)沒有定義,並且一個稀疏矩陣的大部分元素都爲零一個好主意。

如果您只想獲取非零元素的日誌,請嘗試轉換爲三元組稀疏表示並記錄這些值的日誌。

+1

oops。我的意思是實際上記錄(1 + x)。我想這沒有任何意義。是的,我用三重表示法做到了這一點,這更有意義。 –