2016-05-07 27 views
1

Ich versuche, Twitter-Daten zu erhalten und eine Wordcloud erstellen, aber mein Code gibt Fehler beim Erstellen von TermDocumentMatrix. Mein Code ist wie folgt:R: TermDocumentMatrix - Fehler beim Erstellen

twitter_search_data <- searchTwitter(searchString = text_to_search 
            ,n = 500) 

twitter_search_text <- sapply(twitter_search_data 
          ,function(x) x$getText()) 

twitter_search_corpus <- Corpus(VectorSource(twitter_search_text)) 

twitter_search_corpus <- tm_map(twitter_search_corpus, stripWhitespace, lazy = TRUE) 

twitter_search_corpus <- tm_map(twitter_search_corpus, content_transformer(tolower), lazy = TRUE) 

twitter_search_corpus <- tm_map(twitter_search_corpus, PlainTextDocument,lazy = TRUE)  

twitter_search_corpus <- tm_map(twitter_search_corpus, removePunctuation, lazy = TRUE) 

twitter_search_corpus <- tm_map(twitter_search_corpus, removeNumbers, lazy = TRUE) 

twitter_search_corpus <- tm_map(twitter_search_corpus, removeWords, c("the", "this", "The", "This", stopwords('english')), lazy = TRUE) 

twitter_search_corpus <- tm_map(twitter_search_corpus, stemDocument, lazy = TRUE) 

# Create Document Term Matrix 
tdm <- as.matrix(TermDocumentMatrix(twitter_search_corpus 
            ,control=list(wordLengths=c(3,Inf)) 
            )) 

Es gibt keine Fehler vor dem Erstellen von TermDocumentMatrix. Der Fehler, den ich bekommen ist, wie unten

Warnung in mclapply (x $ content [i], Funktion (d) tm_reduce (d, x $ faul $ Karten)): geplant Kern 1 aufgetreten Fehler in Benutzercode, Alle Werte des Jobs sind davon betroffen Warnung in Mclapple (unname (Inhalt (x)), TermFreq, Steuerelement): geplanter Kern 1 Fehler im Benutzercode gefunden, alle Werte des Jobs sind betroffen Warnung: Fehler in UseMethod : keine anwendbare Methode für 'Meta' angewendet auf ein Objekt der Klasse "try-error" Stapelspur (innerste zuerst): 74: FUN
73: lapply 72: se tNames
71: as.list.VCorpus
70: as.list
69: lapply
68: meta.VCorpus
67: meta
66: TermDocumentMatrix.VCorpus
65: TermDocumentMatrix
64: as.matrix
63: observeEventHandler
1: runapp

ich habe bereits hinzugefügt lazy = TRUE und content_transformer(tolower) aber immer noch der Fehler kommt.

Antwort

0

Das Problem scheint mit der Platzierung von

twitter_search_corpus <- tm_map(twitter_search_corpus, stripWhitespace, lazy = TRUE) 

Nach dem Entfernen Interpunktion, Zahlen und Wörter werden Leerzeichen in den Text eingefügt wurden. Daher muss der obige Code zum Entfernen von Leerzeichen die letzte Anweisung sein, bevor Sie TermDocumentMatrix erstellen.