Word Cloud (词云) - R - Go语言中文社区

Word Cloud (词云) - R




在前面已经陆续总结了如何用 PythonJavaScript 创建词云了,今天要说的是 R。其实 SPSS 和 SAS 的 Word Cloud 扩展模板都是基于 R 实现的。


>> Create Word Cloud via R

1) 准备文本。

我们再…再次使用上次保存的 Word Cloud History.txt 的文本,这样我们就可以在最后比较用各种方法生成词云的效果。(好吧,其实主要是懒,继续用吧……)

2) 安装并加载所需的 R 包。

# Install
install.packages("tm")  # for text mining
install.packages("wordcloud") # word-cloud generator 
install.packages("RColorBrewer") # color palettes
# Load
library("tm")
library("wordcloud")
library("RColorBrewer")

3) 读取并清洗文本数据。读取数据完毕我们可以用 inspect() 来查看是否读取文本成功。

#Read text file
text <- readLines(file.choose())
# Load the data as a corpus
docs <- Corpus(VectorSource(text))
#Inspect the content
#inspect(docs)[1:10]

4) 清洗数据。我们将使用 tm_map() 函数来进行文本的大小写转换,清洗文本的空格符,常见停用词等。

# Convert the text to lower case
docs <- tm_map(docs, content_transformer(tolower))
# Remove numbers
docs <- tm_map(docs, removeNumbers)
# Remove english common stopwords
docs <- tm_map(docs, removeWords, stopwords("english"))
# Remove punctuations
docs <- tm_map(docs, removePunctuation)
# Eliminate extra white spaces
docs <- tm_map(docs, stripWhitespace)

5) 用文本数据生成矩阵存放词语 (words) 及其频率 (frequencies) 。其中所用的 TermDocumentMatrix() 来自于 text mining 程序包。转换后我们可以用 head() 来查看矩阵数据。

#Convert this into a matrix format
m <- as.matrix(dtm)
#Gives you the frequencies for every word
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
#Scan the data
#head(d, 10)

6) 生成 word cloud。

wordcloud(words = d$word, freq = d$freq, scale=c(5,0.5), min.freq = 1,
          max.words=200, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(8, "Accent"))

Word Cloud R


>> Notes

如果要查看 wordcloud() 函数的各个参数的意义或者想给图形换个颜色,敲 help(wordcloud) 或者 help(RColorBrewer) 就可以查看帮助文档啦。


>> Sample Code

download here



  1. Word Cloud (词云) - Python
  2. Word Cloud (词云) - JavaScript
  3. Word Cloud (词云) - Matlab

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/yukiwu/p/10969250.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-17 17:38:22
  • 阅读 ( 1249 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢