为什么wordcloud中缺少一些西里尔字母?

时间:2014-07-05 12:34:53

标签: r

我有大量俄语文本。当我构建一个wordcloud时,我看到一些像'ч'这样的字符没有呈现。代码如下所示:

dat <- read.csv("news.csv",sep=";",header=TRUE,stringsAsFactors=FALSE)
corpus <- Corpus(VectorSource(dat$Article),
readerControl = list(reader=readPlain,language="ru"))
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, removeWords,
stopwords("russian")))
dtm <- TermDocumentMatrix(corpus)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
pal2 <- brewer.pal(8,"Dark2")
png("wordcloud.png", width=640,height=640)
wordcloud(d$word,d$freq, scale=c(8,.2), min.freq=5, max.words=200, 
random.order=FALSE, rot.per=0, colors=pal2)
dev.off()

修改

哦,我自己做了。我刚刚添加了一行代码来完成这个技巧:

corpus <- tm_map(corpus, iconv, 'cp1251', 'UTF-8')

1 个答案:

答案 0 :(得分:1)

[来自OP自己的编辑,但在此重复,以完成问题 - 答案] 您需要添加其他tm_map()次来电。

corpus <- tm_map(corpus, iconv, 'cp1251', 'UTF-8')