【词云图绘制实战】——数据准备、清洗、多形式展示

文章目录

  • 1 手动输入文本
    • 1.1 加载包
    • 1.2 分词处理
      • 1.2.1 普通分词方式
      • 1.2.2 hmm分词
    • 1.2 词云图绘制
      • 1.2.1 wordcloud词云图
      • 1.2.2 wordcloud2词云图
  • 2 读取文本数据
    • 2.1 读取文本数据
    • 2.2 分词处理
    • 2.3 词云图绘制
      • 2.3.1 wordcloud词云图
      • 2.3.2 wordcloud2词云图
      • 2.3.3 letterCloud词云图
      • 2.3.4 自定义形状词云图
      • 2.3.5 自动提取demoFreqC中的文本数据做词云图

词云图是一种用于展示文本数据中高频关键词的可视化表达方式。它通过文字、色彩和图形的搭配,以直观且冲击力强的视觉效果展现文本的主要信息。该篇文章利用R语言分别针对手动输入和文件读取的文本数据,进行中文分词,然后使用不同的方式进行词云图绘制。

1 手动输入文本

1.1 加载包

  运行程序:

library(jiebaRD)
library(jiebaR)
library(RColorBrewer)
library(wordcloud)
library(wordcloud2)
library(BH)
library(R6)
library(Rcpp)
library(rlang)

1.2 分词处理

1.2.1 普通分词方式

  运行程序:

a=" 2020年的鼠年,注定不平凡,全国人民都共同抗击疫情中度过,希望尽打赢疫情防控阻击战,风雨过后,春暖花开,大爱无疆,致敬所有的白衣天使,所有的英雄。 武汉加油,中国加油! 祝福我的祖国国泰民安! "
engine1=worker()
engine2=worker("hmm")
b1=segment(a,engine1)
b1

  运行结果:

[1] "2020"     "年"       "的"       "鼠年"     "注定"     "不"      [7] "平凡"     "全国"     "人民"     "都"       "共同"     "抗击"    
[13] "疫情"     "中"       "度过"     "希望"     "尽"       "打赢"    
[19] "疫情"     "防控"     "阻击战"   "风雨"     "过后"     "春暖花开"
[25] "大爱"     "无疆"     "致敬"     "所有"     "的"       "白衣天使"
[31] "所有"     "的"       "英雄"     "武汉"     "加油"     "中国"    
[37] "加油"     "祝福"     "我"       "的"       "祖国"     "国泰民安"

1.2.2 hmm分词

  运行程序:

b2=segment(b1,engine2)
b2

运行结果:

[1] "2020"     "年"       "的"       "鼠年"     "注定"     "不"      
[7] "平凡"     "全国"     "人民"     "都"       "共同"     "抗击"    
[13] "疫情"     "中"       "度过"     "希望"     "尽"       "打赢"    
[19] "疫情"     "防控"     "阻击战"   "风雨"     "过后"     "春暖花开"
[25] "大爱"     "无疆"     "致敬"     "所有"     "的"       "白衣天"  
[31] "使"       "所有"     "的"       "英雄"     "武汉"     "加油"    
[37] "中国"     "加油"     "祝福"     "我"       "的"       "祖国"    
[43] "国泰民安"

1.2 词云图绘制

1.2.1 wordcloud词云图

  运行程序:

word=freq(b2)                                   # 统计词频
wordcloud(word$char,word$freq,min.freq=1)       #wordcloud下的词云图

  运行结果:

1.2.2 wordcloud2词云图

  运行程序:

wordcloud2(word,color="red",shape="star")       #wordcloud2下的词云图

  运行结果:

2 读取文本数据

2.1 读取文本数据

  运行程序:

setwd("C:\\Users\\LE\\Desktop")
a1 <- scan("yiqingganxiang.txt",sep='\n',what='',encoding="GBK")

2.2 分词处理

  运行程序:

seg <- qseg[a1]                                        #使用qseg类型分词,并把结果保存到对象seg中
seg <- table(seg)                                             #统计词频
seg <- seg[!grepl('[0-9]+',names(seg))]                       #去除数字
seg <- seg[!grepl('a-zA-Z',names(seg))]                       #去除字母
length(seg)     
seg <- sort(seg, decreasing = TRUE)[1:304]                    #降序排序,并提取出出现的所有词
seg                                                           #查看出现频率最高的6个词
data=data.frame(seg)                                       

2.3 词云图绘制

2.3.1 wordcloud词云图

  运行程序:

wordcloud(data$seg , data$Freq, colors = rainbow(100),random.order=F) 

  运行结果:

2.3.2 wordcloud2词云图

  运行程序:

wordcloud2(data, size = 0.5, minSize = 0,  shape = "star", ellipticity = 0.85)#wordcloud2下星星词云图

  运行结果:

2.3.3 letterCloud词云图

  运行程序:

letterCloud(data,word="R",size = 2)                           #利用letterCloud构造R形状的词云图

  运行结果:

2.3.4 自定义形状词云图

  运行程序:

wordcloud2(data, figPath = "C:/Users/LE/Desktop/人物.jpg", size = 1) 

figPath:图片保存位置,主图形状位置最好为黑色。

  运行结果:

2.3.5 自动提取demoFreqC中的文本数据做词云图

  运行程序:

data(demoFreqC)
letterCloud(demoFreqC,word="挖",size = 2)                     #“挖”形

  运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/538149.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp发行H5获取当前页面query

阅读uni的文档大致可得通过 onLoad与 onShow()的形参都能获取页面传递的参数&#xff0c;例如在开发时鼠标移动到方法上可以看到此方法的简短介绍 实际这里说的是打开当前页面的参数&#xff0c;在小程序端的时候测试并无问题&#xff0c;但是发行到H5时首页加载会造成参数获取…

SpringMVC10、拦截器

10、拦截器 10.1、概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 过滤器与拦截器的区别&#xff1a;拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分&…

快快快!阿里通义灵码限时福利100%中奖,快来领取你的盲盒礼品!

限时福利100%中奖&#xff0c;快来领取你的盲盒礼品&#xff01; 通义灵码的「体验灵码赢取百万 AI 盲盒」的活动正在火热进行中&#xff0c;参与活动后领取 AI 盲盒&#xff0c;还可以邀请更多好友参与&#xff0c;有机会赢取 iPhone15、机械键盘等大奖&#xff01; 点击参与…

案例分析:分库分表后,我的应用崩溃了

今天我们主要分析一个案例&#xff0c;那就是分库分表后&#xff0c;我的应用崩溃了。 前面介绍了一种由于数据库查询语句拼接问题&#xff0c;而引起的一类内存溢出。下面将详细介绍一下这个过程。 假设我们有一个用户表&#xff0c;想要通过用户名来查询某个用户&#xff0…

C goto 语句

C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意&#xff1a;在任何编程语言中&#xff0c;都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪&#xff0c;使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语…

Python数据分析毕业设计选题30个及框架大全

当涉及到Python数据分析毕业设计选题时&#xff0c;以下是30个选题建议&#xff1a; 1. 分析社交媒体数据&#xff0c;预测用户行为模式。 2. 使用机器学习算法分析电影评分数据&#xff0c;预测电影票房。 3. 分析股票数据&#xff0c;预测股票的涨跌趋势。 4. 分析用户购…

Kubernetes弃用Dockershim,转向Containerd:影响及如何应对

Kubernetes1.24版本发布时&#xff0c;正式宣布弃用Dockershim&#xff0c;转向Containerd作为默认的容器运行环境。Kubernetes以CRI(Container Runtime Interface)容器运行时接口制定接入准则&#xff0c;用户可以使用Containerd、CRI-O、CRI- Dockerd及其他容器运行时作为Kub…

打破数据孤岛,TDengine 与 Tapdata 实现兼容性互认证

当前&#xff0c;传统行业正面临着数字化升级的紧迫需求&#xff0c;但海量时序数据的处理以及数据孤岛问题却日益突出。越来越多的传统企业选择引入时序数据库&#xff08;Time Series Database&#xff0c;TSDB&#xff09;升级数据架构&#xff0c;同时&#xff0c;为了克服…

一个注解搞定 SpringBoot 接口防刷,还有谁不会?

boolean login accessLimit.needLogin(); String key request.getRequestURI(); //如果需要登录 if(login){ //获取登录的session进行判断 //… key“”“1”; //这里假设用户是1,项目中是动态获取的userId } //从redis中获取用户访问的次数 AccessKey ak AccessK…

同态滤波算法详解

同态滤波是一种用于增强图像的方法&#xff0c;特别适用于去除图像中的照明不均和阴影。该算法基于照射反射模型&#xff0c;将图像分解为两个分量&#xff1a;照射分量&#xff08;illumination component&#xff09;和反射分量&#xff08;reflection component&#xff09;…

基于单片机的指纹采集识别系统设计

目 录 摘 要 I Abstract II 引 言 3 1 硬件选择与设计 5 1.1 总体设计及方案选择 5 1.1.1主控单片机选择 5 1.1.2传感器模块选择 6 1.1.3显示器模块选择 6 1.2 系统总体设计 7 2 系统硬件电路设计 8 2.1 系统主电路设计 8 2.1.1 主体电路设计 8 2.1.2 单片机最小系统设计 8 2.…

嵌入(embedding)概念

嵌入&#xff08;embedding&#xff09;在数学和相关领域中的确是指将一个数学对象在保持其某些关键性质不变的前提下&#xff0c;注入到一个更大或更高维的空间中。这个过程不仅仅是简单的映射&#xff0c;而是要求注入的对象在新空间中的表现形式能够完整反映原有对象的内在结…