2016-05-07 6 views
1

Я пытаюсь получить данные twitter и создать wordcloud, но мой код дает ошибку при создании TermDocumentMatrix. Мой код нижеR: TermDocumentMatrix - Ошибка при создании

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)) 
            )) 

Перед созданием TermDocumentMatrix нет ошибок. Я получаю ошибку, как показано ниже

предупреждения в mclapply (х $ содержание [I], функция (д) tm_reduce (д, х $ ленивым $ карты)): запланированное ядро ​​1 произошла ошибка в коде пользователя, все значения задания будут затронуты Предупреждение в mclapply (noname (content (x)), termFreq, control): запланированное ядро ​​1 обнаружена ошибка в коде пользователя, все значения задания будут затронуты Предупреждение: ошибка в UseMethod : не применяется метод «мета» не применяется к объекту класса «примерочная ошибка» Стек трассировки (внутренний первая): 74: ПОТЕХИ
73: lapply
72: с tNames
71: as.list.VCorpus
70: as.list
69: lapply
68: meta.VCorpus
67: Мета
66: TermDocumentMatrix.VCorpus
65: TermDocumentMatrix
64: as.matrix
63: observeEventHandler
1: runApp

Я уже добавил lazy = TRUE и content_transformer(tolower), но все же ошибка наступает.

ответ

0

Проблема, как представляется, с размещением

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

После удаления пунктуации, цифры и слова были вставлены пробелы в тексте. Поэтому приведенный выше код для удаления пробелов должен быть последним оператором перед созданием TermDocumentMatrix.