2015-12-19 1 views
1

J'ai essayé de reproduire l'exemple here: mais j'ai rencontré quelques problèmes en cours de route.Erreur lors de l'utilisation des fonctions "TermDocumentMatrix" et "Dist" dans R

Tout fonctionnait bien jusqu'à ici:

docsTDM <- TermDocumentMatrix(docs8) 

Error in UseMethod("meta", x) : no applicable method for 'meta' applied to an object of class "character"
In addition: Warning message:
In mclapply(unname(content(x)), termFreq, control) :
all scheduled cores encountered errors in user code

donc j'ai pu corriger cette erreur modifier cette étape précédente en changeant ceci:

docs8 <- tm_map(docs7, tolower) 

à ceci:

docs8 <- tm_map(docs7, content_transformer(tolower)) 

Mais alors je g ot nouveau en difficulté avec:

docsdissim <- dissimilarity(docsTDM, method = "cosine") 

Error: could not find function "dissimilarity"

Alors j'ai appris que la fonction "dissemblance" a été remplacé par la fonction dist, alors je l'ai:

docsdissim <- dist(docsTDM, method = "cosine") 

Error in crossprod(x, y)/sqrt(crossprod(x) * crossprod(y)) : non-conformable arrays

Et il est là Je suis coincé.

Par ailleurs, ma version R est:

R version 3.2.2 (2015-08-14) running on CentOS 7

Répondre

1

changement docsdissim <- proxy::dist(docsTDM, method = "cosine") à docsdissim < - dist (as.matrix (docsTDM), méthode = "cosinus")

dist nécessite en entrée un matrice numérique, trame de données ou objet "dist" et événement bien qu'une termdocumentmatrix soit une matrice, elle doit être transformée ici.

+0

merci! ça a marché – tomcontr