2015-06-05 16 views
5

Sto facendo del lavoro di analisi del testo in Python. Sfortunatamente, ho bisogno di passare a R per usare un particolare pacchetto (sfortunatamente, il pacchetto non può essere replicato facilmente in Python).Trasporto di Sparse Matrix da Python a R

Attualmente il testo viene analizzato nella conta sui bigrammi, ridotto ad un vocabolario di circa 11.000 bigrammi, e quindi memorizzato come un dizionario:

{id1: {'bigrams':[(bigram1, count), (bigram2, count), ...]}, 
id2: {'bigrams': ...} 

ho bisogno di ottenere questo in un dgCMatrix in R, dove le righe sono id1, id2, ... e le colonne sono i diversi bigram in modo tale che una cella rappresenti il ​​"conteggio" per quell'id-bigram.

Qualche suggerimento? Ho pensato di estenderlo solo a un enorme CSV, ma sembra super inefficiente e probabilmente non fattibile a causa di vincoli di memoria.

+1

Un esempio con valori effettivi e in numeri maggiori potrebbe essere più utile. Dato che ci si aspetta che facciamo un bel po 'di lavoro prima ancora di provare a programmare. Forse ti piace che i programmatori Python afferrino questo layout meglio di questo debole codificatore R, ma puoi fornire più sostanza? –

risposta

4

Potrebbe potrebbe scrivere la matrice in formato MatrixMarket utilizzando scipymmwrite e quindi leggere in R utilizzando readMM dal pacchetto Matrix?

+1

Questo ha funzionato! Non è un modo super efficiente di memoria per farlo (per quanto posso dire), ma è riuscito a farlo funzionare correttamente sul mio computer. – Craig

+0

Speriamo che sia abbastanza efficiente! LOL! :) Felice di poterti aiutare. – earino