2014-09-06 19 views
7

Çeşitli farklı spor takımlarından Tweets'e dayalı bir Word Cloud oluşturuyorum. Bu kod 10 kez başarıyla yaklaşık 1 yürütür:TermDocumentMatrix bazen hata atıyor

Error in simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), : 
    'i, j, v' different lengths 
In addition: Warning messages: 
1: In mclapply(unname(content(x)), termFreq, control) : 
    all scheduled cores encountered errors in user code 
2: In simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), : 
    NAs introduced by coercion 

Herhangi bir fikir adamlar:

10 kere, aşağıdaki hata atıyor
handle <- 'arsenal' 
txt <- searchTwitter(handle,n=1000,lang='en') 
t <- sapply(txt,function(x) x$getText()) 
t <- gsub('http.*\\s*|RT|Retweet','',t) 
t <- gsub(handle,'',t) 
t_c <- Corpus(VectorSource(t)) 
tdm = TermDocumentMatrix(t_c,control = list(removePunctuation = TRUE,stopwords = stopwords("english"),removeNumbers = TRUE, content_transformer(tolower))) 
m = as.matrix(tdm) 
word_freqs = sort(rowSums(m), decreasing=TRUE) 
dm = data.frame(word=names(word_freqs), freq=word_freqs) 
wordcloud(dm$word, dm$freq, random.order=FALSE, colors=brewer.pal(8, "Dark2"),rot.per=0.5) 

diğer 9? Ben googled ettik, ama şimdiye kadar kısa geldi! Unutmayın ki R'de mutlak bir acemi! uğraşırken biraz aşağıdaki kod satırı tamamen benim sorunu belirlemiştir Yani sonra

cevap

5

:

t <- iconv(t,to="utf-8-mac") 
+0

Bu sorunun derhal giderilmesini onaylayabilir miyim (Mac'te çalışıyor). – timothyjgraham

2

Seni bir DocumentTermMatrix komutunu kullanmadan önce aşağıdaki kod satırını kullandık varsayalım.

corpus = tm_map(corpus, PlainTextDocument) 

Bu kod satırı DocumentTermMatrix işlevi düzgün çalışmıyor hangi PlainTextDocument için corpus, tüm metni dönüştürür.

Yalnızca, tümleşik işlemi gerçekleştirme işlemini tamamlayın ve önişlemeyi yukarıdaki komutu atlayarak tekrarlayın ve gitmek için iyi olursunuz.

+0

Bu, sorunumu çözdü. –

0

ortadan kaldırmak istiyorsanız:

t_c <- Corpus(VectorSource(t)) 

Sonra TermDocumentMatrix için doğru çıktıyı alırsınız:

corpus = tm_map(corpus, PlainTextDocument) 

da kaldırmak zorundayız.

İlgili konular