2013-11-15 350 views
9

在slam包或Matrix包中是否有內置函數來將簡單三重矩陣形式的稀疏矩陣(從slam包)轉換爲稀疏矩陣矩陣dgTMatrix/dgCMatrix形式(來自Matrix包)?將簡單三元組矩陣(滿貫)轉換爲稀疏矩陣(矩陣)R

是否有內置的方式來訪問簡單的三元組矩陣的非零條目?

我在R工作

+3

您不可能對這類問題獲得太多幫助。一個可重複使用的例子對你來說會有很大的幫助,至少有一些代碼可以顯示你迄今爲止所嘗試過的內容。 – Chargaff

+4

這個問題不需要一個可重複的例子。簡單的三元組矩陣是一個簡單的三元組矩陣,不管它包含什麼數據。我在問這個問題,看看是否有一個包中的內置函數來支持兩者之間的轉換。我並不是要求我可以自己做的臨時代碼。 – GorillaInR

+0

不,似乎沒有內置函數來轉換Matrix和slam包生成的稀疏矩陣。 – Chargaff

回答

16

其實,有一個內置的方式:

simple_triplet_matrix_sparse <- sparseMatrix(i=simple_triplet_matrix_sparse$i, j=simple_triplet_matrix_sparse$j, x=simple_triplet_matrix_sparse$v, 
      dims=c(simple_triplet_matrix_sparse$nrow, simple_triplet_matrix_sparse$ncol)) 

從我自己的經驗,這一招救了我大量的時間和苦難,以及計算機崩潰做使用tm包進行大規模文本挖掘。這個問題並不需要一個可重複的例子。簡單的三元組矩陣是一個簡單的三元組矩陣,不管它包含什麼數據。這個問題僅僅是詢問兩個軟件包中是否有內置函數來支持這兩者之間的轉換。

+2

我不同意。通過一個可重複的例子,像你這樣的是/否問題將得到更多的信息答案,並將包含實際的例子。您看到多個答案的機會也將大大提高。 – Chargaff

3

稍作修改。 sparseMatrix以整數作爲輸入,而slam以i,j作爲因子,v可以是任何東西

​​