2014-09-06 5 views
7

저는 다양한 스포츠 팀의 트윗을 기반으로 Word Cloud를 만들고 있습니다. 이 코드는 10 배에서 성공적으로 약 1 실행 :TermDocumentMatrix에서 때때로 오류가 발생합니다.

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 

모든 아이디어들 :

10 배에서, 그것은 다음과 같은 오류가 발생합니다
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) 

다른 구? 나는 봤지만, 지금까지 짧아졌다! R에 절대적인 초보자라는 것을 명심하십시오! 장난의 비트, 다음 코드 줄은 완전히 내 문제를 해결했다 그래서 후

답변

5

:

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

Mac에서 실행 중으로 내 문제가 즉시 해결되었음을 확인할 수 있습니다. – timothyjgraham

2

을 나는 당신이 어딘가에 DocumentTermMatrix 명령을 사용하기 전에 다음 코드 줄을 사용했다고 가정합니다.

corpus = tm_map(corpus, PlainTextDocument) 

이 코드 줄은 DocumentTermMatrix 기능이 제대로 작동하지 않는에 PlainTextDocument에 코퍼스에서 모든 텍스트를 변환합니다.

코퍼스를 생성하고 위의 명령을 건너 뛰는 전처리 과정을 반복하면 진행하는 것이 좋습니다.

+0

내 문제가 해결되었습니다. –

0

당신은 제거 할 경우 :

t_c <- Corpus(VectorSource(t)) 

는 그런 다음 TermDocumentMatrix에 적합한 출력을 얻을 수 있습니다 :

corpus = tm_map(corpus, PlainTextDocument) 

당신은 또한 제거해야합니다.