2013-11-15 15 views
9

Gibt es eine integrierte Funktion in Slam-Paket oder Matrix-Paket, um eine Sparse-Matrix in einfache Triplet-Matrix-Form (von Slam-Paket) zu einem Sparse zu konvertieren Matrix in dgTMatrix/dgCMatrix-Form (aus Matrix-Paket)?konvertieren einfache Triplet-Matrix (Slam) zu spärlich Matrix (Matrix) in R

Und gibt es eine eingebaute Möglichkeit, von einer einfachen Triplett-Matrix auf Einträge zuzugreifen, die nicht Null sind?

Ich arbeite in R

+3

Ihre wahrscheinlich nicht viel Hilfe bei dieser Art von Frage bekommen. Ein reproduzierbares Beispiel Ihrer Situation wird Ihnen sehr helfen und Code, der Ihnen zeigt, was Sie bisher versucht haben. – Chargaff

+4

Diese Frage benötigt kein reproduzierbares Beispiel. Eine einfache Triplett-Matrix ist eine einfache Triplett-Matrix, egal welche Daten sie enthält. Ich stelle diese Frage, um herauszufinden, ob in beiden Paketen eine eingebaute Funktion vorhanden ist, um die Konvertierung zwischen den beiden zu unterstützen. Ich frage nicht nach Ad-hoc-Code, den ich selbst machen könnte. – GorillaInR

+0

Nein, es scheint keine eingebaute Funktion zu geben, um zwischen dünn besetzten Matrizen zu konvertieren, die von den Matrix- und Slam-Paketen erzeugt werden. – Chargaff

Antwort

16

Eigentlich gibt es eine integrierte Methode:

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)) 

Aus meiner eigenen Erfahrung, dieser Trick hat mich gerettet Tonnen Zeit und Elend, und Computer abstürzt tun großangelegtes Text-Mining mit dem tm-Paket. Diese Frage braucht kein reproduzierbares Beispiel. Eine einfache Triplett-Matrix ist eine einfache Triplett-Matrix, egal welche Daten sie enthält. Bei dieser Frage wird lediglich gefragt, ob in beiden Paketen eine integrierte Funktion vorhanden ist, um die Konvertierung zwischen den beiden zu unterstützen.

+2

Ich stimme nicht zu. Mit einem reproduzierbaren Beispiel erhält eine Ja/Nein-Frage wie Ihre Antworten mehr informative Antworten und sie werden praktische Beispiele enthalten. Ihre Chancen, mehr als eine Antwort zu sehen, werden sich ebenfalls deutlich verbessern. – Chargaff

3

leichte Modifikation. SparseMatrix nimmt ganze Zahlen als Eingaben, während Slam i, j, als Faktoren und v kann alles sein