2017-05-03 3 views
0

J'ai enregistré 2 fichiers sur le disque en utilisant la fonction save. Le premier est l'objet TDM du paquet tm. Il semble ainsi dans l'environnement:comment convertir DTM en TDM en R

enter image description here

Le second est DTM, mais la différence est que j'enveloppai avec fonction as.matrix, il ressemble à:

enter image description here

Ma question est , comment convertir ce second objet en premier. Simplement transposer ne fonctionne pas, j'ai besoin de le «dématrier» d'une manière ou d'une autre. C'est possible? Ou devrais-je recréer l'objet encore une fois, ce qui est un processus assez long, car les données dans les deux sont très différentes, comme vous pouvez le voir dans les paramètres. Merci.

+2

Ne jamais utiliser 'as.matrix' avec un DocumentTermMatrix, en particulier de cette taille. Vous pourriez facilement manquer de mémoire. Essayez 't (as.DocumentTermMatrix (slam :: as.simple_triplet_matrix (content.dtm), weighting = identité))' – nicola

+0

Note: Les captures d'écran sont généralement mal vues. Il pourrait être préférable de poster un exemple réel (comme dans la réponse). Même si je sais que ça peut être difficile de créer parfois ... – lukeA

Répondre

-1

Prenons l'exemple suivant:

library(tm) 
data("crude") 
tdm <- TermDocumentMatrix(crude) 
m <- as.matrix(DocumentTermMatrix(crude)) 

tdm2 <- as.TermDocumentMatrix(t(m), weighting = weightTf) 
identical(tdm, tdm2) 
# [1] TRUE