打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
绘图系列|R-wordcloud2包绘制词云

    前段时间读完大刘的流浪地球,本来想着写点东西... 结果“懒癌”了,今天就先弄个词云凑合吧( ╯□╰ )。

    词云首先需要将下载好的“流浪地球”的文本文件读入R,然后使用jieba包对文本进行分词,然后绘制词云。

一 数据准备

载入所需的R包,准备好流浪地球的txt格式的文本文件。

library(jiebaRD) library(jiebaR) library(wordcloud2)

二 分词,统计词频

使用jieba包对文本进行分词。

engine = worker() segment("流浪地球.txt",engine)data <- scan('流浪地球.segment.2019-04-09_22_36_54.txt',sep='\n',what='',encoding="UTF-8") data2 <- freq(data)data2 <- qseg[data]data.words <- data2head(data.words)

三 去掉停词

    过滤掉类似“的”,“你”,“我们”等类似的无意义的停词,并可根据自己需要设置词频的个数。

#过滤掉1个字的词data.words <- subset(data.words, nchar(as.character(data.words))>1) #过滤停词stop=read.table(file=file.choose(),colClasses="character") stopwords=c(NULL) for(i in 1:dim(stop)[1]){ stopwords=c(stopwords,stop[i,1]) }for(j in 1:length(stopwords)){ data.words <- subset(data.words,data.words!=stopwords[j]) }

四 统计词频 

4.1 统计词频

data.freq <- table(unlist(data.words)) data.freq <- rev(sort(data.freq)) data.freq <- data.frame(word=names(data.freq), freq=data.freq)

4.2 根据需要过滤频次

#按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数data.freq=subset(data.freq, data.freq$freq.Freq>=2) head(data.freq) word freq.Var1 freq.Freq1 地球 地球 1642 太阳 太阳 953 发动机 发动机 604 人类 人类 355 地面 地面 306 木星 木星 28

五  绘制词云

5.1 图形设定为“star”

wordcloud2(data.freq[,2:3],color = "random-light", backgroundColor = "grey",shape = 'star')


5.2 汉字图形展示

letterCloud(data.freq[,2:3],word="地球",size = 2)


5.3 指定图形

指定的背景图需要在R包的example文件夹中,本例为微信的开机图,然而不像,,,鬼知道咋回事啊。

world = system.file("examples/download1.jpg",package = "wordcloud2")wordcloud2(data.freq[,2:3], figPath = world, size = 1,color = "black")


OK,词云绘制完毕。

你确定你不想看看你喜欢的书,杂志,都主要是说的些什么?

你确定你不想看看唐诗三百首,都主要是用的哪些词?

你确定你不想看看四六级,考研英语,都主要有哪些高频词汇,不是省了买本书?

你确定你不想看看各种影评,弹幕都是吐槽或者感概的啥?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用R进行文本挖掘与分析:分词、画词云【2】
python的requests
文本挖掘
R语言 | 词频统计
WordCloud 中英文词云图绘制,看这一篇就够了
新浪微博文本分析初探 | 统计之都
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服