0
我有一個尺寸爲65100 * 65100的大矩陣,它是R中類「dsCMatrix」的稀疏矩陣。我怎麼能擺脫這個稀疏矩陣,因爲我很難將這個矩陣保存爲「寫入」函數R.是否有將整個稀疏矩陣保存爲常規矩陣的方法?如何將類「dsCMatrix」的稀疏矩陣轉換爲R中的正則矩陣?
問候
SAJ
我有一個尺寸爲65100 * 65100的大矩陣,它是R中類「dsCMatrix」的稀疏矩陣。我怎麼能擺脫這個稀疏矩陣,因爲我很難將這個矩陣保存爲「寫入」函數R.是否有將整個稀疏矩陣保存爲常規矩陣的方法?如何將類「dsCMatrix」的稀疏矩陣轉換爲R中的正則矩陣?
問候
SAJ
剛上dsCMatrix
使用as.matrix()
。這裏有一個例子:
library(Matrix)
m <- Matrix(toeplitz(c(10, 0, 1, 0, 3)), sparse = TRUE)
m
# 5 x 5 sparse Matrix of class "dsCMatrix"
#
# [1,] 10 . 1 . 3
# [2,] . 10 . 1 .
# [3,] 1 . 10 . 1
# [4,] . 1 . 10 .
# [5,] 3 . 1 . 10
as.matrix(m)
# [,1] [,2] [,3] [,4] [,5]
# [1,] 10 0 1 0 3
# [2,] 0 10 0 1 0
# [3,] 1 0 10 0 1
# [4,] 0 1 0 10 0
# [5,] 3 0 1 0 10
這個建議適用於小矩陣維度,但不適合我的情況。 asMethod(object)錯誤:在文件../Core/cholmod_dense.c中,第105行的Cholmod錯誤'問題太大' – user4665665
可能應該遷移到CV。可以找到[this](http://stats.stackexchange.com/questions/35185/dimensionality-reduction-svd-or-pca-on-a-large-sparse-matrix)有幫助。 –
@ WhiteViking:在我使用as.matrix()之後,我收到了以下錯誤消息:asMethod(object)中的錯誤:Cholmod錯誤'problem too large'at ../Core/cholmod_dense.c,line 105 – user4665665
像往常一樣@ RichardScriven是正確的:-)你能否添加一個可重複的例子,導致「問題太大」的錯誤?例如使用隨機數據。 – WhiteViking