2011-01-12 10 views
2

Ich versuche, das Matrix-Paket zu verwenden, um eine MatrixMarket-formatierte Datei zu lesen, aber ich bekomme eine ngTMatrix zurück. Ich kann es nicht mit as konvertieren, da es keine Methode gibt, um von ngTMatrix nach dgCMatrix zu konvertieren. Konvertieren in eine nicht-spärliche Matrix ist keine Option, da sie zu groß ist. Irgendwelche Vorschläge?In R Wie lade ich eine Matrixmarkt-formatierte Sparse-Matrix in eine dgCMatrix?

+0

einig Beispiel-Code/Daten Menschen besser helfen, Ihre Frage zu beantworten, würden –

Antwort

3

Ich bin mir nicht sicher, warum Sie ein Problem haben sollte, weil Sie as() verwenden können, ein ngTMatrix zu einem ngCMatrix zu zwingen:

> pm <- as(as.integer(c(2,3,1)), "pMatrix") 
3 x 3 sparse Matrix of class "pMatrix" 

[1,] . | . 
[2,] . . | 
[3,] | . . 

> pm.t <- as(pm, 'ngTMatrix') 
> pm.c <- as(pm.t, 'ngCMatrix') 

> class(pm.c) 
[1] "ngCMatrix" 
attr(,"package") 
[1] "Matrix" 

> class(pm.t) 
[1] "ngTMatrix" 
attr(,"package") 
[1] "Matrix" 
Verwandte Themen