Я сосредотачиваюсь на чистке Твиттера. Для этого я использую пакет
library("twitteR")
Тогда я читаю твиты 1 Кб для # Привет.
mytweets = searchTwitter("#Hello", n=1000)
А теперь давайте воспользуемся функцией corpus:
library("tm")
mylist <- sapply(mytweets, function(x) x$getText())
mycorpus <- Corpus(VectorSource(mylist))
removeEmoticon <- function(x) gsub("[^\x01-\x7F]", " ", x)
mycorpus <- tm_map(mycorpus, removeEmoticon)
mycorpus <- tm_map(mycorpus, tolower)
mycorpus <- tm_map(mycorpus, removePunctuation)
mycorpus <- tm_map(mycorpus,
function(x)removeWords(x,stopwords()))
mycorpus <- tm_map(mycorpus, PlainTextDocument)
wordcloud(mycorpus, min.freq=4, scale=c(5,1),
random.color=F, max.word=45, random.order=F)
В любом случае, после последней строки кода я получил следующую ошибку:
Error in simple_triplet_matrix(i, j, v, nrow = length(terms), ncol = length(corpus), :
'i, j' invalid
Я заметил, что эта проблема исчезает, если я удаляю строку кода:
mycorpus <- tm_map(mycorpus, PlainTextDocument)
Почему? В любом случае, поскольку этот код строки является основополагающим для преобразования в обычный текст (который может использовать wordcloud), я хотел бы найти другой способ достижения этого результата.