如何使用R语言制作词云

张开发
2026/4/9 19:50:27 15 分钟阅读

分享文章

如何使用R语言制作词云
词云是一种常见的文本数据可视化的方法词云分析的工作有多种其中使用R语言中的wordcloud包中的wordcloud2函数可以很方便地制作词云。关于wordcold2函数的用法不再赘述查以使用help(wordcloud2)查看有关帮助其中的参数是不难理解的可以运行一下帮助文档的示例Examples体会一下其中的用法。在实际的数据分析中我们常常需要把一段文字进行词云的制作这个时候首先要行分词接下来要统计词频对其中的词语进行清洗最后绘制词云。这个过程可以使用jiebaR包进行分词再进行了些数据处理最后使用wordcold2进行词云制作。首先要做一项准备工作把先在R的工作路径中建立一个名为wordcloud的txt文件将需要做词云的文本复制到文件中并保存。因需要使用jiebaR进行分词使用wordcloud2包制作词云需要事先安装Rtools和这两个包如果没有安装请先下载并安装Rtools并对两个包进行安装#正常安装wordcloud2包install.packages(wordcloud2)#jiebaR包在从 CRAN镜像中移除无法通过常规的方法安装需要在GitHub上安装install.packages(remotes)library(remotes)install_github(qinwf/jiebaRD)# 先安装依赖包install_github(qinwf/jiebaR)# 再安装jiebaR包如果已经安装好接下来给出代码可以直接输出结果library(jiebaR)library(wordcloud2)#以字符串形式读入数据分隔符是‘\n’字符编码是‘UTF-8’words-scan(wordcloud.txt,sep\n,what,encodingUTF-8)#利用默认库进行分词engine-worker()seg-segment(words,engine)seg-seg[nchar(seg)1]#去除字符长度小于1的词这一行如不需要可以注释掉seg-table(seg)#计算词频#seg-seg[!grepl([的,我],names(seg))] #去掉了一些无意义的词此行可以根据结果进行调整这一行注释掉了可以根据需要运行seg-seg[!grepl([0-9],names(seg))]#过滤数字这一行如不需要可以注释掉seg-head(sort(seg,decreasingTRUE),50)#获得词频数前50的词可以调整为词频为前其他的词#使用head函数的目的是为了避免所分的词汇数量不足而引入NA项seg#输出词频#制作词云wordcloud2(seg,size0.5,colorrandom-light)其中数据清洗过程注释掉了一行有进候我们不需要某些词进入词云这时可以取消注释对其中的关键词进行修改后再重新运行输出的词云图就没有这个词了。这里是选取了词频前50的词绘制词云这个参数也可以根据需要进行修改。

更多文章