在R语言中获取txt文件文本,并进行词频统计,然后自定义词云图。
先获取txt文本
wordfreqs = read.table("E:\\Python实训\\哔哩哔哩弹幕爬取\\dan_mu.txt",encoding = "UTF-8")
这是事先用python爬虫准备好的B站番剧(排球少年)弹幕文本(当然也可以先自定义文本进行测试)。
停止词
readLines("E:\\数据处理\\PyDataPreprocessing-master\\Files\\NLPIR_stopwords.txt")work <- worker(stop_word = "E:\\数据处理\\PyDataPreprocessing-master\\Files\\NLPIR_stopwords.txt"
)
这也是准备好的停止词词库,用于帮助jiebaR更好的统计词频
统计词频
seg <- segment(wordfreqs[,1],work)seg <- freq(seg) //用于统计词频 seg <- seg[order(-seg[,2]),] // 让它倒序排序 seg <- seg[1:100,c(1,2)] // 限制输出词的数量,只输出100个。
词云图
最后就是用自己选取的图片进行制作词云图了,就是用wordcloud2,然后更换词库就行了。
记得图片要选取黑白尽量分明的,方便R语言识别。
wordcloud2(seg,size = 1,figPath = "D:\\Picture\\飛心\\Hinata.jpg")
这里我们采用排球少年里的一张图
完整代码如下。
效果如图
结语
好了,自定义的词云图就制作成功了,最后需要注意的就是停止词的引用,以及在统计词频,排序输出时的理解,这样一来就大功告成了。