zoukankan      html  css  js  c++  java
  • Word Cloud (词云)


    在前面已经陆续总结了如何用 [Python](https://www.cnblogs.com/yukiwu/p/10967037.html) 和 [JavaScript](https://www.cnblogs.com/yukiwu/p/10968816.html) 创建词云了,今天要说的是 R。其实 SPSS 和 SAS 的 Word Cloud 扩展模板都是基于 R 实现的。
    ##### >> Create Word Cloud via R
    1. 准备文本。

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

    1. 安装并加载所需的 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")
    
    1. 读取并清洗文本数据。读取数据完毕我们可以用 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]
    
    1. 清洗数据。我们将使用 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)
    
    1. 用文本数据生成矩阵存放词语 (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)
    
    1. 生成 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


    ##### >> Related Blogs
    1. [Word Cloud (词云) - Python](https://www.cnblogs.com/yukiwu/p/10967037.html) 2. [Word Cloud (词云) - JavaScript](https://www.cnblogs.com/yukiwu/p/10968816.html) 3. [Word Cloud (词云) - Matlab](https://www.cnblogs.com/yukiwu/p/10971998.html)
    作者:Yuki
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处(附上博客链接)。 如果您觉得本篇博文对您有所收获,请点击右下角的 [推荐],谢谢!

    关注我的公众号,不定期更新学习心得
  • 相关阅读:
    WCF
    WCF
    C#
    ASP.NET MVC
    WCF
    关于函数的参数
    关于函数的return
    移动Web开发技巧汇总(转)
    关于reset.css的那些事
    关于iphone自动播放音频和视频问题的解决办法
  • 原文地址:https://www.cnblogs.com/yukiwu/p/10969250.html
Copyright © 2011-2022 走看看